2012-07-03 183 views
0

我在fieldset標籤中有多個單選按鈕列表。單選按鈕列表列表 - 只允許選擇一個

我只想要一個項目從整個列表選擇... 目前我可以選擇每個單選按鈕列表中的一個項目 - 這是正常的

我知道正確的方法就是做這個會應該有一個長單選按鈕列表,但這不是一個選項。

是否有使用Javascript/jQuery的一種方式,給出的字段集類的名稱 - 說

<fieldset class="mylistofradiolists">當選擇在其中單選按鈕的所有其他項目取消並且只有單一保持選中狀態

感謝

+1

可以爲所有的單選按鈕,使用相同的名稱一個字段集內 –

+1

@MiqdadAli「我知道正確的做法是做一個長單選按鈕列表,但這不是一個選項。」他已經說過,無論出於何種原因,這是不可能的。 –

回答

6

你可以做到這一點與下面的代碼

$radios = $('.mylistofradiolists :radio'); 
$radios.on('change',function(){ 
    $radios.not(this).prop('checked',false); 
}); 

當一個收音機被選中時,除了那個收音機以外的所有其他收音機在該容器內被取消選擇。

這是更好地利用相反的

$radios = $('.mylistofradiolists :radio'); 

$radios = $('.mylistofradiolists [type=radio]'); 

至於:radio選擇的醫生說

因爲:廣播是一個jQuery的擴展,而不是部分的CSS 規範,查詢使用:收音機無法利用 本機DOM querySelectorAll()提供的性能提升 方法。

爲了在現代瀏覽器中獲得更好的性能,請改用[type =「radio」]

+0

是不是瀏覽器的默認操作? – undefined

+1

@undefined,是的,如果所有收音機都有相同的名稱。但在這種情況下,他們沒有。我假設他正在爲廣播組使用不同的名字,因爲他提到'單選按鈕列表' –

+0

+1,但是OP的要求似乎是不合理的。 – undefined

1

通過保持單選按鈕的每個「名稱」屬性相同,您可以實現從由fieldset標記分隔的單選按鈕列表中僅選擇一個單選按鈕的功能。

例如: - 對於第一個字段集合 - 保持單選按鈕名稱字段相同。

<fieldset > 
<input type="radio" name="food" /> : Italian<br /> 
<input type="radio" name="food" /> : Greek<br /> 
<input type="radio" name="food" /> : Chinese<br /> 
<fieldset > 

和第二字段集,保持name屬性相同: -

<fieldset > 
<input type="radio" name="food" /> : Indian<br /> 
<input type="radio" name="food" /> : UK<br /> 
<fieldset > 

希望這雁用戶問題:)

+0

他已經在問題中說過他不能這樣做:「我知道這樣做的正確方法是有一個長單選按鈕列表,但這不是一個選項。」 –

相關問題