jQuery: почему не работает программный выбор радиокнопок? - PullRequest
2 голосов
/ 15 февраля 2011

Моя задача действительно проста: учитывая набор из 4 переключателей, мне нужно программно проверить / выбрать одну из них по нажатию на изображение.Все так просто.

Теперь у меня есть следующие переключатели:

<input type="radio" name="answer" value="A">
<input type="radio" name="answer" value="B">
<input type="radio" name="answer" value="C">
<input type="radio" name="answer" value="D">

Следующий код jQuery работает так же, как charm - при вызове из функции click () изображения:

$('input[name="answer"]').filter("[value='A']").attr("checked", true);

То есть выбрана первая из радиокнопок, все довольны.Но как только я поместил ту же строку кода в функцию click () другого изображения на той же странице - он внезапно перестает работать!Когда я нажимаю это другое изображение, я вижу - на долю секунды!- то, что правильная кнопка радио выбрана и затем немедленно очищена!Очевидно, что там нет кода, работающего на этих переключателях, кроме этой единственной строки в функции click () изображения.

Пожалуйста, сохраните мое здравомыслие - может кто-нибудь объяснить, как это возможно на Земле??И, что более важно, как это исправить?

Ответы [ 2 ]

3 голосов
/ 13 декабря 2013

Увидел ваш вопрос, не связанный с установкой переключателей, но в jQuery 2.0.0 и используемом браузере (IE и Chrome) .attr не работает, но .prop работает:

$("#someControlNameOrFilter).prop("checked", true);
0 голосов
/ 15 февраля 2011

Может быть, этот пост может помочь вам: Как сбросить радиокнопки в jQuery, чтобы ни одна из них не была отмечена

Ваш код работает на jsfiddle: http://jsfiddle.net/DfLVs/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...