У меня есть 2 переключателя и запущен jquery.
<input type="radio" name="lom" value="1" checked> first
<input type="radio" name="lom" value="2"> second
Теперь с помощью кнопки я могу настроить onClick для запуска функции. Как заставить переключатели запускать функцию, когда я нажимаю на одну из них?
javascript
jquery
Дэвид19801
источник
источник
Ответы:
Вы можете использовать
.change
то, что хотите$("input[@name='lom']").change(function(){ // Do something interesting here });
с jQuery 1.3
"@" больше не нужен. Правильный способ выбора:
$("input[name='lom']")
источник
$("input[name='lom']")
$("input[name='lom']").change(function(){ if ($(this).val() === '1') {..... // rest conditional statements based on values here } ;
jquery.self-0a6570c….js?body=1:1464 Uncaught Error: Syntax error, unrecognized expression
об ошибке. Так что это не вопрос выбора.Если у вас есть радиостанции в контейнере с id = radioButtonContainerId, вы все равно можете использовать onClick, а затем проверить, какой из них выбран, и соответственно запустить некоторые функции:
$('#radioButtonContainerId input:radio').click(function() { if ($(this).val() === '1') { myFunction(); } else if ($(this).val() === '2') { myOtherFunction(); } });
источник
<input type="radio" name="radio" value="creditcard" /> <input type="radio" name="radio" value="cash"/> <input type="radio" name="radio" value="cheque"/> <input type="radio" name="radio" value="instore"/> $("input[name='radio']:checked").val()
источник
это должно быть хорошо
$(document).ready(function() { $('input:radio').change(function() { alert('ole'); }); });
источник
Есть несколько способов сделать это. В любом случае настоятельно рекомендуется иметь контейнер вокруг переключателей, но вы также можете поместить класс прямо на кнопки. С помощью этого HTML:
<ul id="shapeList" class="radioList"> <li><label>Shape:</label></li> <li><input id="shapeList_0" class="shapeButton" type="radio" value="Circular" name="shapeList" /><label for="shapeList_0">Circular</label></li> <li><input id="shapeList_1" class="shapeButton" type="radio" value="Rectangular" name="shapeList" /><label for="shapeList_1">Rectangular</label></li> </ul>
можно выбрать по классу:
$(".shapeButton").click(SetShape);
или выберите по ID контейнера:
$("#shapeList").click(SetShape);
В любом случае событие сработает при нажатии либо переключателя, либо метки для него, хотя, как ни странно, в последнем случае (выбор с помощью «#shapeList») нажатие на метку по какой-то причине вызовет функцию щелчка дважды, в минимум в FireFox; выбор по классу этого не сделает.
SetShape - это функция, которая выглядит так:
function SetShape() { var Shape = $('.shapeButton:checked').val(); //dostuff }
Таким образом, вы можете иметь ярлыки на своих кнопках и иметь несколько списков переключателей на одной странице, которые выполняют разные действия. Вы даже можете сделать так, чтобы каждая отдельная кнопка в одном списке выполняла разные действия, настроив разное поведение в SetShape () в зависимости от значения кнопки.
источник
Всегда полезно ограничить поиск в DOM. так что лучше также использовать родительский объект, чтобы не обходить весь DOM.
<div id="radioBtnDiv"> <input name="myButton" type="radio" class="radioClass" value="manual" checked="checked"/> <input name="myButton" type="radio" class="radioClass" value="auto" checked="checked"/> </div> $("input[name='myButton']",$('#radioBtnDiv')).change( function(e) { // your stuffs go here });
источник