我有一個表單,需要在我的頁面上進行驗證。該表單看起來像這樣: 行上的jQuery驗證
我想弄清楚最好的方法來確保如果一行中的信息被填寫;那麼需要填寫整行。
正如您在示例中看到的那樣,第3行的費用已填寫,但沒有標題。第4行有標題但沒有費用。我需要在這些類型的東西上拋出錯誤。
有沒有一種簡單的方法來完成這項工作,以確定是否有一塊數據(在3個可編輯字段中的任何一個),那麼整行就需要數據。
感謝您的任何輸入
我有一個表單,需要在我的頁面上進行驗證。該表單看起來像這樣: 行上的jQuery驗證
我想弄清楚最好的方法來確保如果一行中的信息被填寫;那麼需要填寫整行。
正如您在示例中看到的那樣,第3行的費用已填寫,但沒有標題。第4行有標題但沒有費用。我需要在這些類型的東西上拋出錯誤。
有沒有一種簡單的方法來完成這項工作,以確定是否有一塊數據(在3個可編輯字段中的任何一個),那麼整行就需要數據。
感謝您的任何輸入
可能的解決辦法:
$("#mytable tr").each(function() {
var anySet = false, allSet = true;
$(this).find("td input").each(function() {
var somethingInCell = $(this).val().trim() !== '';
anySet |= somethingInCell;
allSet &= somethingInCell;
});
if (anySet && !allSet) {
// there is missing information
}
});
UPDATE
$("#mytable").on("input", "input", function(){
var anySet = false,
$cells = $(this).closest("tr").find("td input");
$cells.each(function() {
var somethingInCell = $(this).val().trim() !== '';
anySet |= somethingInCell;
});
$cells.removeClass("has-error");
if (anySet) {
$cells.each(function() {
if ($(this).val().trim() === '') {
$(this).addClass("has-error");
}
});
}
});
這似乎是可能的,但我的問題是;我會在哪裏添加驗證來顯示錯誤消息?我想將類'has-error'添加到缺少的字段中。 – SBB
我會在所有輸入元素的輸入事件中執行此操作 –
您必須手動執行此操作。我不會爲你寫整個代碼,但它會是這樣的。
//on hove of each td
$('#tableID tr td').hover(function(){
//loop each its sibling
$(this).siblings().each(function(
//if any sibling is empty return false
if($(this).val().trim() == '')
{
return false;
}
));
//else return true
return true;
});
是記錄數動態還是限制在6? –
現在僅限於6個,但試圖使其更靈活,以防我需要添加更多 – SBB
您是否願意使用基本的jQuery插件,還是僅限於純粹的jQuery和JavaScript? –