检查是否禁用了所有选择选项

时间:2017-06-17 02:13:35

标签: javascript jquery css select

我如何检查是否所有选择选项都被禁用,除了值为" 0"

的那个选项

这是我的代码:

<select name="my-select" id="my-select">
    <option value="0">apple</option>
    <option value="1" disabled>orage</option>
    <option value="2" disabled>pear</option>
    <option value="3" disabled>banana</option>
</select>

我在想的是:

if(#my-select options disabled except for option value="0") {
    console.log(option value="0" is the only one that is enabled);
}

2 个答案:

答案 0 :(得分:1)

第一:您需要使用enabled检查所有$('#my-select option:not(:disabled)')选项

第二次:使用.length

检查启用了多少次

第三次:检查其value属性是否为0

var enabled = $('#my-select option:not(:disabled)');
if(enabled.length === 1 && enabled.attr('value') == "0") {
    console.log('option value="0" is the only one that is enabled');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="my-select" id="my-select">
    <option value="0">apple</option>
    <option value="1" disabled>orage</option>
    <option value="2" disabled>pear</option>
    <option value="3" disabled>banana</option>
</select>

答案 1 :(得分:0)

  

你可以使用javascriptjQuery。我使用jQuery,就像这样:

$(document).ready(function(){
   var counter = 0;
   $('#my-select option:enabled:not([value=0])').each(function(){
       counter++;
   })
   if(counter < 1)
       alert('option value="0" is the only one that is enabled');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<select name="my-select" id="my-select">
    <option value="0">apple</option>
    <option value="1" disabled>orage</option>
    <option value="2" disabled>pear</option>
    <option value="3" disabled>banana</option>
</select>