У меня есть несколько переключателей, относящихся к одной категории, но я хочу назвать их по-разному и сделать их взаимоисключающими. Как я могу это сделать? Основываясь на выбранном значении, я выполняю различные действия и не могу получить к ним доступ, если они имеют одинаковые имена.
3 ответа
Почему вы не можете получить к ним доступ, если они имеют одинаковые имена? Вы можете добавить идентификаторы (вы должны), вы можете различать по значению или просто считать их и использовать n-й элемент.
Вам следует присвоить радио-кнопкам одно и то же имя , чтобы браузер понял, что они являются эксклюзивными.
Вы можете (но не должны) взломать это и дать каждому объекту свое имя. Затем добавьте обработчик onSelect / onClick для каждого объекта, и при возникновении события «снимите флажок» с других кнопок. Это грязно и его следует избегать.
Радиокнопки требуют, чтобы одно и то же имя было взаимно исключающим. Однако они могут иметь разные значения атрибута 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();
Если вам нужно изменить имя, вы можете получить доступ к 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
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.