怎么获取多个select中,相同value值的select的个数

我有多个下拉列表,里面内容一样,val为5的不能超过三个,否则不让选。
我是想每点击一个下拉列表都遍历一遍val为5的select的个数,用的$(".evaluate_select[value='5']").length,但是每次alert都弹出0,改用了$(".evaluate_select option[value='5']").length也是不对的。
我觉得是因为select本来就没有val值,但是为什么用select.val()又能得到当前select的值呢?而用option又会遍历我所有的option,所以也不行。请问还有什么方法吗?
HTML:

<!--有多个这样的select,此处我就贴了一个-->
<select class="evaluate_select" name="evaluate_select">
    <option value="0" selected="selected">请选择</option>
    <option value="5">A 优秀</option>
    <option value="4">B 称职</option>
    <option value="3">C 基本称职</option>
    <option value="2">D 不称职</option>
</select>

JS:

$(".evaluate_select").change(function () {
    $(".evaluate_select").each(function(i){
            alert($(".evaluate_select[value='5']").length);
    })
})
阅读 5.8k
1 个回答
var number = 0;
$('.evaluate_select').each(function(){
    parseInt($(this).val(), 10) === 5 && number++;
}
if(number > 3) return;

请参考上方的代码.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题