2013-11-22 28 views
0

我有循环下拉框。所以我想申请验证。如何将验证应用于重复下拉菜单

我的代码是 -

<select name="travelclasscmb[]" id="travelclasscmb"> 
<option value="">select</option> 
    <option value="1">Car</option> 
</select> 



<select name="travelclasscmb[]" id="travelclasscmb"> 
<option value="">select</option> 
    <option value="2">Train</option> 
</select> 
+1

元素的ID必须是唯一** * *,您选择的所有元素都有相同的编号 –

回答

0

尝试

$('select ').change(function() { 
    if (this.value === '') { 
     alert('select a value'); 
    } 
}); 


ID必须是唯一使用类来代替。

阅读Two HTML elements with same id attribute: How bad is it really?


使用jQuery验证

$.validator.addMethod('notNone', function (value, element) { 
    return (value !== ''); 
}, 'Please select an option'); 
+0

好的..我已经添加了唯一的ID。但id依赖于循环。 – user2932185

+0

@ user2932185在循环中添加class而不是'id'。 –

+0

我有尝试这一点,但它获取第一个下拉只 – user2932185

0

要开始了,你不能有重复的ID。改为使用班级。

为了验证你可以使用required属性:

<select name="travelclasscmb[]" class="travelclasscmb" required> 
<option value="">select</option> 
    <option value="1">Car</option> 
</select> 



<select name="travelclasscmb[]" class="travelclasscmb" required> 
<option value="">select</option> 
    <option value="2">Train</option> 
</select> 
0

请使用类多选验证

<select name="travelclasscmb[]" class="travelclasscmb" required> 
<option value="">select</option> 
    <option value="1">Car</option> 
</select> 
<select name="travelclasscmb[]" class="travelclasscmb" required> 
<option value="">select</option> 
    <option value="2">Train</option> 
</select> 
**Jquery:** 
$('.travelclasscmb').change(function() { 
    if (this.value === '') { 
     alert('select a value'); 
    } 
}); 

演示http://jsfiddle.net/kapil_dev/mdBtz/

+0

为什么你需要一个属性和一个jQuery验证?这不是一个很好的用户体验,你在这里创建。 – Billy

+0

我正在添加旅行详情。旅行取决于从数据库中选择。所以我把旅游类型,然后在while循环(从数据库中提取)显示旅游类。 – user2932185