Выбор нескольких переключателей - PullRequest
0 голосов
/ 22 марта 2012

Хорошо, у меня есть цикл for в php, и он генерирует группу радиокнопок для человека, каждая радиокнопка в группе имеет одно и то же имя.

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

Ответы [ 3 ]

3 голосов
/ 22 марта 2012

Вы не можете сделать это.Группы переключателей позволяют один выбор.Для этого вам понадобятся флажки.

1 голос
/ 22 марта 2012

При условии, что имена классов являются уникальными для переключателей, вы можете сделать это:

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, который не являетсявсеобщая поддержка, я не думаю.

0 голосов
/ 26 марта 2012

хорошо, я понял мою здесь,

            $(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"> и измените имя идентификатора и значение на половину, ноль и неактивно для уважаемых ссылок, все работает отлично

...