我正在學習JQuery,主要感謝Stack Overflow的積極參考。我需要一個函數來檢查具有相同CSS類的元素中的所有複選框。它應該返回true,如果至少其中一個被選中。元素中還有其他與檢查無關的框。JQuery - 至少有一個複選框被選中
CSS類是不必要的,只有創建一種方法來確定組中的複選框。這感覺是不好的做法,所以任何關於其他方法來確定他們的建議是受歡迎的。
我正在學習JQuery,主要感謝Stack Overflow的積極參考。我需要一個函數來檢查具有相同CSS類的元素中的所有複選框。它應該返回true,如果至少其中一個被選中。元素中還有其他與檢查無關的框。JQuery - 至少有一個複選框被選中
CSS類是不必要的,只有創建一種方法來確定組中的複選框。這感覺是不好的做法,所以任何關於其他方法來確定他們的建議是受歡迎的。
無線電由於頁面佈局,按鈕列表不是一個選項。我用自定義驗證器解決了它。
添加此JavaScript函數的頁面
function ValidateDDA(s, a) {
a.IsValid = ($(".chk:checked", $('parentDiv')).length > 0);
}
然後一個的CustomValidator添加到頁面
<asp:CustomValidator runat="server" ID="cvDDLCorrect" ClientValidationFunction="ValidateDDA"
ErrorMessage="No hay resuesta correcta" CssClass="error" />
就像一個魅力。感謝您的建議。
要檢查是否至少一個檢查:
$(".classname:checked", container).length > 0
「容器」 是(可選的)容器元素。
如果你想避免使用類名進行分組,您應該簡單地給每個複選框相同的名字:
<input type="checkbox" name="group1" value="1" />
<input type="checkbox" name="group1" value="2" />
<input type="checkbox" name="group1" value="3" />
然後你就可以改變測試代碼:
$("[name=group1]:checked").length > 0
很高興知道。不幸的是,複選框是通過ASP.Net和重寫UniqueID是太多的解決方案。 – Laramie 2010-05-31 06:42:20
爲多個複選框使用相同名稱有什麼意義? (除非你使用PHP並用'[]'結束這個名字)如果用戶只能選擇其中的一個,那麼應該使用一個單選按鈕。如果他可以選擇多個,那麼你會以這種方式失去信息。 – Tgr 2010-05-31 07:04:14
當多個複選框具有相同的名稱時,您不會丟失信息。如果檢查多個項目,則數據將作爲「value1,value2,value3」發佈到服務器 – 2010-05-31 08:32:58