javascript 下拉菜单只设置值时,它被再次打开只在移动的和macos

iih3973s  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(110)

嗨,我有一个下拉菜单在我的网站上。看起来是这样的

<div class="box">
    <p>Kerület</p>
    <select name="type" class="input"   onclick="districtButtonClick(value)"  required>
       <option class="btn" value="all" >Összes</option>
       <option class="btn" value="I">I</option>
       <option class="btn" value="II">II</option>
       <option class="btn" value="III" value="III">III</option>
       <option class="btn" value="IV">IV</option>
       <option class="btn" value="V">V</option>
       <option class="btn" value="VI">VI</option>
       <option class="btn" value="VII">VII</option>
       <option class="btn" value="VIII">VIII</option>
       <option class="btn" value="IX">IX</option>
       <option class="btn" value="X">X</option>
       <option class="btn" value="XI">XI</option>
       <option class="btn" value="XII">XII</option>
       <option class="btn" value="XIII">XIII</option>
       <option class="btn" value="XIV">XIV</option>
       <option class="btn" value="XV">XV</option>
       <option class="btn" value="XVI">XVI</option>
       <option class="btn" value="XVII">XVII</option>
       <option class="btn" value="XVIII">XVIII</option>
       <option class="btn" value="XIX">XIX</option>
       <option class="btn" value="XX">XX</option>
       <option class="btn" value="XXI">XXI</option>
       <option class="btn" value="XXII">XXII</option>
       <option class="btn" value="XXIII">XXIII</option>
    </select>
</div>

它为onClick事件调用一个函数,并向该函数传递一个值....在桌面上它工作得很完美。但是当我在移动的设备(Android和iPhone)或MacOS上尝试时,我选择了一个数字,这个数字在下拉菜单中出现,就好像我选择了它一样,但是这个功能似乎没有触发,只有当我重新打开下拉菜单时。
这里的网站在服务器上,如果你想给予它一个尝试http://adingatlan.fejlessz.hu/a/index.html所有搜索,如Utca,这意味着街kerulet是区和底线有一个最小和最大的价格工程在桌面上,但在移动的区似乎不工作
这里的js函数以及,但我不认为这是问题

function districtButtonClick(buttonNumber){

        console.log(buttonNumber);

        let item = grid.querySelectorAll('.box');
        //filter = e.target.dataset.filter;
        filter = buttonNumber;
       
        if (filter == "all") {
            districtBool = false;
        } else {
            districtBool = true;
        }
        
        //console.log(filter);
 

        //console.log(item.length);
    
        
            if(streetSearchEmpty == true && maxPriceBool == false && minPriceBool == false){
                district = districtSearch(filter, item);
                console.log(" Kerulet Kereses ");
            }

            if(streetSearchEmpty == false){
                di = searchStreet(searchValue, item);
                didi = districtSearch(filter, di);
                console.log(" Kerulet Kereses Utcaval");

                if(maxPriceBool == true || minPriceBool == true) {


                    priceSearched = priceSort(minPriceValue, maxPriceValue, didi);
                    streetPrice = districtSearch(filter, priceSearched);
                    console.log(" Kerulet Kereses Utcaval majd arral");

                }
            }

            else if (maxPriceBool == true || minPriceBool == true) {

                du = priceSort(minPriceValue, maxPriceValue, item);
                dudu = districtSearch(filter, du);
                console.log(" Kerulet Kereses arral");

                if (streetSearchEmpty == false) {

                    if(streetPrice.length == 0) {

                    streetsearched = searchStreet(searchValue, dudu);
                    streetPrice = districtSearch(filter, streetsearched);
                    console.log(" Kerulet Kereses arral majd uccaval");
      
            }}
        }
                
}
y1aodyip

y1aodyip1#

oclick()在移动的上不起作用,因为select在某些移动浏览器中是本地呈现的
onchange()应该可以。
这样使用它:

<div class="box">
        <p>Kerület</p>
        <select name="type" class="input"   onchange="districtButtonClick($event)"  required>
           <option class="btn" value="all" >Összes</option>
           <option class="btn" value="I">I</option>
    ...

然后在js中:

districtButtonClick(event){
   console.log("selected value:", event.target.value);
}

相关问题