2011-11-21 36 views
1

有問題的代碼:http://jsfiddle.net/3wfYs/1/jQuery驗證和客戶端事件

我在這裏有一些麻煩(驗證)。當選擇一個服務用戶(下表)時,第一個表中的第一個複選框(複選框的長列表)也應該被檢查。並且checkboxlist具有驗證規則,表明至少要檢查一個。但是,當通過serviceuser複選框上的「click」事件選擇複選框時,表單不會重新驗證。我怎樣才能做到這一點?而且,我覺得我正在以艱難的方式這樣做,還有更好的方式來做這一切?

找到解決方案:操縱表單後,我不得不重新驗證表單(這正是我正在尋找的),這是通過運行.valid()完成的。所以,我最後做的:

$("#PasswordForm").valid(); 

回答

0

問題是因爲「PC-pålogging」複選框您自動檢查,也將被禁用。因此,它將從任何驗證檢查中刪除,因爲禁用的元素不會在POST請求中傳遞。

如果您從服務用戶單擊處理程序中刪除.attr("disabled", "disabled")行,它應該可以工作,但如果取消選擇「PC-pålogging」,則可能需要編寫更多的邏輯來解除用戶服務複選框。

+0

這與驗證腳本無關,因爲複選框仍被標記爲「錯誤」。我希望驗證更新,而用戶不必再次按提交來重新驗證。另外,如果您從javascript中刪除「禁用」的部分,然後單擊「pc-pålogging」(當它由serviceuser檢查時),它會刪除選中的標記並刪除錯誤(與應該執行的操作相反) – tskulbru