Как я могу создать взаимоисключающие переключатели с различными именами?

У меня есть несколько переключателей, которые принадлежат той же категории, но я хочу назвать их по-другому и сделать их взаимоисключающими. Как я делаю это? На основе выбранного значения я делаю различные действия, и я не могу получить доступ к ним, если у них есть то же имя.

17
задан Jason Plank 22 January 2013 в 12:32
поделиться

3 ответа

Почему вы не можете получить к ним доступ, если они имеют одинаковое имя? Вы можете добавить идентификаторы (вы должны), вы можете различать по значению или просто посчитать их и использовать n-й элемент.

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

Вы можете (но не должны) обойти это, и дать каждому объекту свое имя. Затем добавьте обработчик onSelect/onClick для каждого объекта, и когда событие сработает, "снимите флажки" с других кнопок. Это грязно и этого следует избегать.

27
ответ дан 30 November 2019 в 11:22
поделиться

Радиокнопки требуют одинакового имени, чтобы быть взаимоисключающими. Однако они могут иметь разные значения атрибута ID, если вы хотите манипулировать ими по отдельности с помощью JavaScript.

Есть много способов получить выбранное значение с помощью jQuery:

<input type="radio" name="foo" value="1" />
<input type="radio" name="foo" value="2" />


// value of checked input tag of type 'radio'
var selectedValue = $('input[type=radio]:checked').val();

// value of checked input tag having name of 'foo'
var selectedValue = $('input[name=foo]:checked').val();

// value of the first checked radio button, regardless of name
var selectedValue = $('input:checked').val();
14
ответ дан 30 November 2019 в 11:22
поделиться

Если вам нужно изменить имя, вы можете получить доступ к DOM и его элементам через JavaScript.

<input type="checkbox" name="X" id="myElement" />

<script>   document.getElementById('myElement').name = 'text'; </script>  

http://www.w3schools.com/JS/js_ex_dom.asp

0
ответ дан 30 November 2019 в 11:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: