2012-08-27 47 views
0

http://jsfiddle.net/mark69_fnd/jDgnN/顯示我的代碼。目前,它只是使所有的單元格required,而我希望允許空行。只要在同一行中存在填充的單元格,是否可以指定需要表格單元格?

我曾嘗試調理required方法是這樣的:

"required:'#item0 input:filled'" - for row 0 
"required:'#item1 input:filled'" - for row 1 

顯然,這是錯誤的,因爲它不會在所有的工作。

所以,我的問題是我怎麼可以在HTML中聲明?

回答

1

我不確定這些依賴表達式是否允許有足夠複雜的事情(即,您想要一個我認爲的「或」語句)。所以,你可能想要做的就是創建一個custom validation方法來照顧這:

$.validator.addMethod("allRowOrNone", function(value, element) { 
    var $elements = $(element).parents('tr').find('input:filled'); 
    if ($elements.length == 0 || $elements.length == 3){ 
     return true; 
    } else { 
     return ($(element).val() != ''); 
    } 
}, "Please specify all parts of the row"); 

然後改變你的規則,只是簡單allRowOrNone

看到它在這裏行動:http://jsfiddle.net/jDgnN/4/

+0

爲什麼或?我不希望行中的所有單元格都被填充。足夠的,如果至少有一個填充細胞。理由是我想要允許所有空行,否則單元格必須填充數據。所以,我想'必需的:'#item0 input:filled''是好的,因爲它應該表示「如果行#0中的填充輸入字段的計數大於0需要」。但它不起作用。 – mark

+0

@mark - 我給你的是:沒有一個輸入可能被填充在一行中或者該行中的所有輸入都必須被填充。您是否說可以輸入數量,但沒有項目或單價? – Ryley

+0

你給的是我想要的。所以,你所說的是'required':'#item0 input:filled''意味着最多隻有一個單元格被填充,而不是所有的單元格? – mark

相關問題