Получить текущий выбранный переключатель в наборе 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();
});
Мне нужно получить выбранную радиокнопку без привязки к событию клика.
Ответы
Ответ 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();