簡體   English   中英

檢查所有選擇是否在Jquery中完成

[英]Checking if all selects are completed in Jquery

我正在嘗試計算VISIBLE選擇的數量(我已經在Jquery的警報中完成了此操作),並且還計算了已選擇選項的VISIBLE選擇的數量。 如果兩個數字都匹配,請執行一些操作。

當前,當我更改第一個選擇並選擇一個選項時,它不會提示輸入值。 當我更改下一個選擇並選擇一個選項時,當計數為2時,它顯示計數為1。當我選擇第三個選擇時,其顯示為3。但是這些數字都不准確。 這是什么原因?

<div id="secondPanelID">
    <div class="form-group input-group">
        <label for="gestationalAgeInWeeks">Gestational Age : </label>
        <div>
            <select id="gestationalAgeInWeeks" name="gestationalAgeInWeeks" class="form-control"> 
                        <option disabled selected value>SELECT</option>
                        <option value="0">0</option>
            </select>

        </div>
    </div>
    <div class="form-group input-group">
        <label>days</label>
        <div>
            <select name=gestionalDays class="form-control">
                <option disabled selected value>SELECT</option>
                <option value="0">0 Days</option>
                <option value="1">1 Day</option>
            </select>
        </div>
    </div>
</div>

為每個選擇添加了偵聽器

$("select[name=gestationalAgeInWeeks]").change(checkingColourSelectsGeneralData);
    $("select[name=gestionalDays]").change(checkingColourSelectsGeneralData);

jQuery的

var selectCounterInGeneral = 0;
function checkingColourSelectsGeneralData(){
    alert($('#secondPanelID select:visible').length)
    $('#secondPanelID select:visible').change(function () {
      var o = $(this);
        if (!o.hasClass('counted')) {
        selectCounterInGeneral++;
        o.addClass('counted');
       }

      alert("number of selects: "+selectCounterInGeneral);
    });


}

只需檢查所有可見選擇是否都具有這種價值:

 function countSelected(e) { var toReturn = true; $('select:visible').each(function(i) { if( !$(this).val() ) { toReturn = false; }; }); console.log( toReturn ); }; $('select').on('change', countSelected); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select> <option disabled selected value>--choose--</option> <option value="1">1</option> <option value="2">2</option> </select> <select> <option disabled selected value>--choose--</option> <option value="1">1</option> <option value="2">2</option> </select> <select style="display: none;"> <option disabled selected value>--choose--</option> <option value="1">1</option> <option value="2">2</option> </select> 

同樣在JSFiddle上

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM