我知道還有關於這個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