Подтвердить что ты не робот

Получить текущий выбранный переключатель в наборе jquery ui buttons без привязки к клику

У меня есть радиокнопки вроде этого:

<div id="radio">
    <input type="radio" id="radio1" name="radioOption" /><label for="radio1">Choice 1</label>
    <input type="radio" id="radio2" name="radioOption" checked="checked" /><label for="radio2">Choice 2</label>
    <input type="radio" id="radio3" name="radioOption" /><label for="radio3">Choice 3</label>
</div>

И примените кнопку так:

$(function () {
    $("#radio").buttonset();
});

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

4b9b3361

Ответ 1

Черт, только что понял, что у моего селектора была опечатка, но если это помогает кому-то еще:

Если вы не хотите использовать событие click, которое я не сделал, вы можете сделать следующее: Если вы ищете элемент, который он сам использует:

$("#radio :radio:checked");

Если вы ищете идентификатор элемента, используйте:

$("#radio :radio:checked").attr('id');

Если вам нужно знать, какой текст выбранного значения следует выполнить, выполните следующие действия:

$("#radio :radio:checked + label").text();

Ответ 2

Попробуйте это

$("input:radio[name=radioOption]").click(function(){
      var value = $(this).attr("id");
      alert(value);
})

Пример

Ответ 3

Как я вижу, для jQuery ui нет такого события для набора кнопок. Вы можете увидеть здесь.

Вам нужно написать ручную привязку jquery, как показано ниже:

<script type="text/javascript">
    $(document).ready(function() {
        $( "#radio" ).buttonset();
        $("#radio input").bind("click",function(){
               // do whatever you want to do with clicked button
    });
});
</script>

Ответ 4

Просто добавьте атрибут value к каждому input следующим образом:

<div id="radio">         
    <input type="radio" id="radio1" name="radioOption" checked="checked" value="first"/><label for="radio2">Choice 2</label>
    <input type="radio" id="radio2" name="radioOption" value="second"/><label for="radio3">Choice 3</label>
    <input type="radio" id="radio3" name="radioOption" value="third"/><label for="radio3">Choice 3</label>
</div>

Ответ 5

Когда я нажимаю кнопку, я вызываю одну функцию, она принимает параметры из кнопки Set:

$("#button").click( function()
{

var params = $("input[name=radio]:checked").val();
alert(params);

});

В вашем случае, если вы это сделаете, я думаю, что он должен работать:

var params = $("input[name=radioOption]:checked").val();