Как я могу имитировать щелчок на переключателе jQuery UI?

У меня есть радиокнопки

<div id="typeRadios">
    <input id="character_chartype_a" name="character[chartype]" type="radio" value="A" /><label for="character_chartype_a">A</label>
    <input id="character_chartype_a" name="character[chartype]" type="radio" value="B" /><label for="character_chartype_b">B</label>
</div>

что я перехожу к кнопкам пользовательского интерфейса jQuery

$("#typeRadios").buttonset();

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

// here data.chartype equals "A"
$("input[value='"+data.chartype+"']").click();

но это не сработает. Спасибо за чтение.

Ответы

Ответ 1

Вы должны сделать это с помощью элемента label, добавленного jQuery UI. Попробуйте:

$("label[for='character_chartype_"+data.chartype+"']").click();

Посмотрите на это здесь, в контролируемой среде: http://jsfiddle.net/B3d4z/

Ответ 2

Я считаю, что вы ищете select событие.

$("input[value='"+data.chartype+"']").select();

Ответ 3

<div class="radioVote">
<input type="radio" id="radio1" name="radio" value="1"/><label for="radio1">ONE</label>
<input type="radio" id="radio2" name="radio" value="2"/><label for="radio2">TWO</label>
</div> 



$(document).ready(function(){

        $( ".radioVote" ).buttonset();

        $('[for^=radio]').click(function() {
            var theRadioElement = $(this).prev();
            alert("Button" + theRadioElement.attr('id') + " clicked. VALUE:" + theRadioElement.val());
        });

    });

В этом примере показано, как получить идентификатор и значение, когда вы нажимаете на метку, принадлежащую радиостанции jQueryUI.

Счастливое кодирование:)