我有一個窗體,用戶可以添加或刪除行的項目。一旦表單被提交,有幾個值,我驗證像值應該大於0或檢查該字段是否填充,它現在正在工作。我現在想要的是,我想在該tr的最後一個td中顯示該特定行項目的錯誤消息。由於用戶可以有多行,因此特定行的錯誤應該在最後td的行中。有人可以幫助我,我怎麼能實現這一目標?jQuery驗證插件錯誤安置在最後與動態行的形式
我的電流輸入字段和選擇字段錯誤放置代碼是這樣的:對,我有選擇的兩個項目的情況下的一個
$("#ItemsForm").validate({
errorPlacement: function(error, element) {
error.appendTo(element.next());
console.log(error);
},
highlight: function(element, errorClass) {
$(element).addClass(errorClass).parent().children("select").addClass(errorClass);
}
});
HTML代碼:
<table class="width100" id="tableDiv">
<tbody>
<tr>
<th class="alignCenter">Item</th>
<th class="alignCenter">Price</th>
<th class="alignCenter">Quantity</th>
<th class="alignCenter">Discount</th>
<th class="alignCenter"> </th>
</tr>
<tr id="Row_1">
<td class="products alignCenter">
<select name="item_1" id="item_1" class="products box-style select-style">
<option value="">-- select --</option>
<option value="1001" >Item 1</option>
<option value="1002" >Item 2</option>
<option value="1003" >Item 3</option>
<option value="1004" >Item 4</option>
</select>
</td>
<td><input type="text" name="Price_1" id="Price_1" value="999.00" class="text-box-style width95 alignCenter" disabled="disabled" /></td>
<td class="quantity"><input type="text" name="quantity_1" id="quantity_1" value="1" maxlength="4" class="quantity text-box-style width95 alignCenter" /></td>
<td class="discount"><input type="text" name="discount_1" id="discount_1" value="10" maxlength="3" class="discount text-box-style width95 alignCenter discountBox" /></td>
<td class="alignCenter"><i onclick="addRow(this.form);" title="Add line item" class="fa fa-plus icon-cog" /></td>
</tr>
<tr id="Row_2">
<td class="products alignCenter">
<select name="item_2" id="item_2" class="products box-style select-style">
<option value="">-- select --</option>
<option value="1001" >Item 1</option>
<option value="1002" >Item 2</option>
<option value="1003" >Item 3</option>
<option value="1004" >Item 4</option>
</select>
</td>
<td><input type="text" name="Price_2" id="Price_2" value="3000.00" class="text-box-style width95 alignCenter" disabled="disabled" /></td>
<td class="quantity"><input type="text" name="quantity_2" id="quantity_2" value="2" maxlength="4" class="quantity text-box-style width95 alignCenter" /></td>
<td class="discount"><input type="text" name="discount_2" id="discount_2" value="10" maxlength="3" class="discount text-box-style width95 alignCenter discountBox" /></td>
<td class="alignCenter"><i onclick="removeRow('2');" title="Remove line item" class="fa fa-minus icon-cog" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td class="alignCenter"><input type="submit" name="submit" id="submit" value="Save" class="width75 box-style btn-style" /></td>
<td> </td>
<td> </td>
</tr>
</tbody>
首先,代碼的其餘部分在哪裏?由於在HTML標記中放置的內容是您詢問的內容,因此您會認爲您會向我們展示您的實際HTML標記。其次,當使用'highlight'時,你還應該使用'unhighlight',否則當錯誤消息消失時,CSS將不正確。 – Sparky
@ Sparky,我編輯了我的文章以包含HTML代碼。 – John
你沒有任何'form'標籤。既然你也沒有任何有意義的驗證規則,我甚至不能重現任何驗證。 – Sparky