我的页面中有多个选择输入,这些输入是使用相同名称动态创建的。
我的代码:
<select name="area[]" id="area[]" class="area">
<option value="">Select Area</option>
<?
$cities = $this->city_model->get_all($posters->product_id);
foreach($cities as $city) { ?>
<option value="<?=$city->city_id?>"><?=$city->city_name?></option>
<? } ?>
</select>
我希望用户从每个选择输入中选择一个值,我正在使用这样的jQuery函数:
$('.area').each(function(){
if($(this).val() == "") {
alert("please select Area");
} return false;
});
$('.quantity').each(function(){
if($(this).val() == "" || $(this).val() == 0) {
alert("please select Quantity");
return false;
}
});
$('#form').submit();
我做了同样的事情,它也有效,但它也提交了表格,即使我限制它
<input type="submit" name="something" id="something" value="something" onclick="checkType();return false;">
答案 0 :(得分:3)
你缺少if语句的括号。试试这个:
$('.area').each(function(){
if($(this).val() === "") {
alert("please select Area");
return false;
}
});
编辑:我重新添加了return false
部分,因为OP很可能只想显示1个警报而不管有多少项无效。
答案 1 :(得分:1)
$('form').submit(function(){
var unSelected = $('select').filter(function(){
return this.value === "";
}).length > 0;
if (unSelected)
alert('Error!');
});
答案 2 :(得分:0)
试试这个:
<script>$('.area').each(function() {
if ($(this).val() == '') {
alert("please select Area");
return false;
}
});
</script>