我知道还有关于这个here的另一个问题,但这只是不适合我。jquery each()只返回第一个值
所以我有一个非常大的表单,有大约40个字段,每个字段都有单独的槽,所以我将50个字段分成不同的类别,并为每个输入类别分配一个id,例如, 10种数量的10种价格分为4类:标准运输,快递运输,急件运输,超急运费。所以我叫所有的价格在一个类别下具有相同ID,例如说,标准运输是
<id input type="text" name="s_qty_25" id="s_cf" />
<id input type="text" name="s_qty_50" id="s_cf" />
<id input type="text" name="s_qty_100" id="s_cf" />
.... and so on
我的形式是这样定义的:
<form method="post" id="creation_form" action="actions/add_prices.php">
....
</form>
和jQuery的我用它来验证是像这样:
$(function() {
$('#creation_form').submit(function(e){
$("#cs_f").each(function(index, obj){
var cs_f_val = $(obj).val();
if(cs_f_val == ''){
$(obj).attr('style', 'background:red;');
valid = false;
}
});
//...repeat the snipet for each 3 remaining price groups
return valid;
});
});
基本上将字段红色,如果空和取消submition。但只有第一个领域会得到它的红色背景!
感谢您的帮助:)
你不能那样做。具有相同'id'的多个元素是不允许的。改为使用班级。你只从'each'得到一个结果的原因是,jQuery假定一个'id'选择器只会匹配一个元素,而不会寻找更多。 – verdesmarald
该ID必须是唯一的。 –
oohhh我是!你们这些人! – RicardoE