2014-04-10 26 views
1

在我的頁面中有這麼多的組合單選按鈕。如何檢查jQuery中的多個indicdual單選按鈕?

first div「Request-1」only default checked.After button click I'm called the following jQuery function to assign selected value to other div radio button。

if ($("#Request-1:input:checked").length > 0) { 

      $("#Request-2").attr('checked', 'checked'); 
      $("#Request-3").attr('checked', 'checked'); 
      $("#Request-4").attr('checked', 'checked'); 
     } 
     else if ($("#DRequest-1:input:checked").length > 0) { 
      $("#DRequest-2").attr('checked', 'checked'); 
      $("#DRequest-3").attr('checked', 'checked'); 
      $("#DRequest-4").attr('checked', 'checked'); 

     } 

但只有#REquest-4正在檢查其他單選按鈕沒有檢查。請告訴我如何檢查所有單選按鈕。

<div id="choose-1"> 
<input id="Request-1" type="radio" name="request-type" checked="checked"/>Data REquest 



    <input id="DRequest-1" type="radio" name="request-type"/>D Request Data 
    </div> 
<div id="choose-2"> 
    <input id="Request-2" type="radio" name="request-type" />Data REquest 

     <input id="DRequest-2" type="radio" name="request-type"/>D Request Data 
    </div> 
<div id="choose-3"> 
    <input id="Request-3" type="radio" name="request-type" />Data REquest 

     <input id="DRequest-13" type="radio" name="request-type"/>D Request Data 
    </div> 
<div id="choose-4"> 
    <input id="Request-4" type="radio" name="request-type" checked="checked"/>Data REquest 

     <input id="DRequest-4" type="radio" name="request-type"/>D Request Data 
    </div> 

回答

2

您正在使用radio buttons,他們是在同一group request-type所以只有一個能在這種情況下可以選擇

工作,你需要使用checkboxes地質儲量radios

然後嘗試使用prop()併合並所有由,分隔的選擇器,如

if ($("#Request-1:checked").length > 0) { 
    $("#Request-2, #Request-3, #Request-4").prop('checked', true); 
} 
else if ($("#DRequest-1:checked").length > 0) { 
    $("#DRequest-2, #DRequest-3, #DRequest-4").prop('checked', true); 
} 

Live Demo

如果你需要切換上改變那麼他們的身份試試這個複選框,

$('#Request-1').on('change',function(){ 
    $("#Request-2, #Request-3, #Request-4").prop('checked', this.checked);  
}).change(); 
$('#DRequest-1').on('change',function(){ 
    $("#DRequest-2, #DRequest-3, #DRequest-4").prop('checked', this.checked);  
}).change(); 

複選框change demo

同樣,你需要使用無線電設備,那麼你需要改變單選按鈕類似分組,

<div id="choose-1"> 
    <input id="Request-1" type="radio" name="request-type" checked="checked" />Data REquest 
    <input id="DRequest-1" type="radio" name="request-type" />D Request Data</div> 
<div id="choose-2"> 
    <input id="Request-2" type="radio" name="request-type-2" />Data REquest 
    <input id="DRequest-2" type="radio" name="request-type-2" />D Request Data</div> 
<div id="choose-3"> 
    <input id="Request-3" type="radio" name="request-type-3" />Data REquest 
    <input id="DRequest-3" type="radio" name="request-type-3" />D Request Data</div> 
<div id="choose-4"> 
    <input id="Request-4" type="radio" name="request-type-4" />Data REquest 
    <input id="DRequest-4" type="radio" name="request-type-4" />D Request Data 
</div> 

無線change demo

+0

同樣的問題,最後一個div單選按鈕請求4只被檢查剩餘的單選按鈕不checking.in上述德興每個格是單獨tab.i意味着在一個選項卡,下一格一個格在aonther標籤一樣that.4 th標籤div單選按鈕只檢查,當點擊第4標籤。 – user3494837

+0

在我的設計中每個div在單獨tab.when單擊第一個選項卡我打電話給上面的JavaScript,基於在第一個選項卡中的無線電選擇將值賦予下一個tab.but第4個選項卡最後一個單選按鈕只使用上面的代碼檢查。 – user3494837

+0

現在嘗試上面更新的答案 –