如何选择表单中的所有SELECT标记并在JQUERY中检查它们的值

时间:2014-11-17 06:20:59

标签: jquery

如何在特定表格中选择所有SELECT标签并检查其所选值是否等于0 ??

 if($('[name="1"]').val() == 0  || $('[name="2"]').val() == 0 || $('[name="3"]').val() == 0 || $('[name="ifpDimension"]').val() == 0) event.preventDefault();

<select name="1" class="form-control">
    <option value="0">PLEASE SELECT</option>
    <option value="Personal">PERSONAL</option>
    <option value="Community">COMMUNITY</option>
    <option value="Teaching">TEACHING</option>
    <option value="Social">SOCIAL</option>
</select>

我可以在此代码中执行此操作,但是有更简单,更清晰的方法吗?

3 个答案:

答案 0 :(得分:1)

var len = $("select").filter(function () {
    return this.value == 0;
}).length;

if (len) { 
    // something is having is 0 value 
    //  return false 
}

答案 1 :(得分:1)

您可以按值(在您的情况下为0)找到所选的元素。如果返回的对象的长度大于0,则执行必要的操作:

if($("form select option[value=0]:selected").length>0){
    //some select not selected
}

答案 2 :(得分:1)

您可以使用以下代码。假设你的表格是:

<form id="myForm" ....>

您可以使用.filter()返回值为零的select元素。如果要在没有值为零的select时执行某些代码,请使用以下命令:

var form = $('#myform'),
zero_select = form.find('select').filter(function() { 
    return this.value == 0; 
});
if( zero_select.length === 0 ) {
    ......
}

要在至少一个select元素具有零值时执行代码,请使用:

var form = $('#myform'),
zero_select = form.find('select').filter(function() { 
    return this.value == 0; 
});
if( zero_select.length ) {
    ......
}