2012-03-21 151 views
0

好吧我在php中有一個for循環,它爲一個人生成一組單選按鈕,組中的每個單選按鈕都具有相同的名稱。選擇多個單選按鈕

for ($i = 0; $i < $count; $i++) { 
      echo '<tr>'; 
      echo '<td>' . $something[$i] . '</td>'; 
      echo '<td align="center"><input class="one" type="radio" name="' . $i . '" value="1"/></td>'; 
      echo '<td align="center"><input class="half" type="radio" name="' . $i . '" value="0.5"/></td>'; 
      echo '<td align="center"><input class="zero" type="radio" name="' . $i . '" value="0" checked="checked"/></td>'; 
      echo '<td align="center"><input class="inactive" type="radio" name="' . $i . '" value="null"/></td>'; 
      echo '</tr>'; 
     } 

我希望能夠通過單擊鏈接/按鈕來選擇/檢查具有相同類別的所有單選按鈕。變量$count將每隔幾天更改一次,所以我不知道會有多少個不同的無線電組。我正在尋找這個希望在javascript中

回答

0

好,我得到了我想通了,在這裏,

  $(document).ready(function() { 

      // select all radio buttons in the "one" column (.one class) 
      $('#select_all_one').click(function(){ 
       $("input[class=one]").each(function(){ 
        this.checked = true; 
       }); 
      }); 

      // select all radio buttons in the "half" column (.half class) 
      $('#select_all_half').click(function(){ 
       $("input[class=half]").each(function(){ 
        this.checked = true; 
       }); 
      }); 

      // select all radio buttons in the "zero" column (.zero class) 
      $('#select_all_zero').click(function(){ 
       $("input[class=zero]").each(function(){ 
        this.checked = true; 
       }); 
      }); 

      // select all radio buttons in the "inactive" column (.inactive class) 
      $('#select_all_inactive').click(function(){ 
       $("input[class=inactive]").each(function(){ 
        this.checked = true; 
       }); 
      }); 


      }); 

,然後選擇所有我使用這個鏈接<a id="select_all_one" name="select_all" value="all_one">電臺並更改其ID和值的一半,零的名稱,閒置推崇鏈接,一切正常完美

3

你不能這樣做。單選按鈕組允許單個選擇。您將需要複選框才能完成此操作。

+0

目前沒有,我可以選擇所有的單選按鈕與相同的類(例如class =「one」),網站上的所有內容都可以正常工作,但這需要花費很多時間,因爲有多少有不同的單選按鈕行。單選按鈕與它們的名稱相關聯,每個組/行都有不同的名稱 – user1284381 2012-03-21 20:20:13

+0

Ooooh,我明白了 - 您希望選擇具有特定類別的不同組中的所有無線電。那不一樣。你打開jQuery?使用jQuery解決方案將非常簡單。 – 2012-03-21 20:22:01

+0

你使用jQuery的解決方案是什麼?我會試試看 – user1284381 2012-03-21 20:25:59

1

提供的類名稱是獨一無二的單選按鈕,你可以這樣做:

var radios = document.getElementsByTagName("INPUT"); 
for (var index = 0; index < radios.length; index++) { 
    if (radios(index).type == "radio" && 
     radios(index).className.indexOf("one") > -1) { 
     radios(index).checked = true; 
    } 
} 

所有這可能是比使用getElementsById每個比getElementsByClassName方法,這是不是普遍沒有更好的,但可能會更好支持,我不認爲。