我有一些代碼可以創建任意數量的RadioButton列表。的HTML是JQuery - 檢查所有單選按鈕是否爲「否」
<div id="ConfirmCCLChoice" class="ConfirmChoice">
<span>
<input class="rbl" data-val="true" data-val-required="Please Select Yes or No" id="rbl" name="Confirm[i].Taken" type="radio" value="true" />
Accepted
</span>
<span>
<input checked="checked" class="rbl" id="rbl" name="Confirm[i].Taken" type="radio" value="false" />
Declined
</span>
</div>
其中,i是對應的單選按鈕列表的索引。
我需要的是一些JavaScript或jQuery檢查是否所有的單選按鈕都設置爲「否」。此時,我需要啓用文本區域,以便客戶可以解釋爲什麼所有答案都不是。 (這一點是微不足道的)。
我到目前爲止是這樣的,我只是試圖得到每個組的檢查值。但是,它所做的是爲每行運行2 *,而不是一次。 (所以我懷疑它運行的每個按鈕,而不是每個單選按鈕組
$(document).ready(function() {
$('#ConfirmChoice input').change(function() {
$(':radio').each(function() { // loop through each radio button
var nam = $(this).attr('name'); // get the name of its set
alert($(':radio[name="' + nam + '"]:checked').val());
});
});
});
所以,我應該如何改變這種做法,我通過每個單選按鈕組迭代,並提醒值,而不是每個單選按鈕?
你可能會考慮檢查是否有任何一個按鈕沒有被設置爲'no'(使用單個非迭代JQuery選擇器更容易),並且在滿足條件時不會執行該操作... – BadZen
您的代碼似乎不起作用。 (一方面,你沒有關閉ready ready,但在修復之後仍然不起作用。)把它放在jsFiddle中。 – philtune
你使用的代碼是錯誤的,我也用正確的方法添加了一個答案,因爲你的方法對於你想做的事情有錯誤的開始。 –