Вопрос

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

<div class="below">
<input type="radio" value="information" name="option0"/>
information
<input type="radio" value="communication" name="option0"/>
communication
<input type="radio" value="goods" name="option0"/>
goods
<input type="radio" value="attention" name="option0"/>
attention
</div>

Я написал код следующим образом:

$('input:radio').click(function () {
  if (this.checked) { // or $(this).attr('checked')
    alert(this.value); // or alert($(this).val());
  }
});

Моя версия JQuery

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

Я использую Фаерфокс.В консоли ошибок написано «неизвестный псевдокласс или псевдоэлемент «радио».Есть идеи?В чем дело?

Мой предыдущий вопрос близок к этому вопросу, но у меня пока нет решения.Так что мне придется поспрашивать.Надеюсь, этот вопрос не будет закрыт как дублированный вопрос.Спасибо!

Это было полезно?

Решение

Может быть, это?

$('input[type=radio]').click( ... );

Другие советы

Элементы ввода обычно содержатся внутри элемента формы, это ваш случай?Если да, возможно, вам нужно включить элемент формы в селектор.Посмотрите пример здесь: http://docs.jquery.com/Selectors/radio

Я настроил простую тестовую страницу с вашим кодом, и хотя я получаю ту же ошибку в консоли, она работает (предупреждающее сообщение отображается всякий раз, когда я нажимаю переключатель).Я публикую здесь код страницы, если он поможет вам найти что-то, что вы пропустили:

<html>
<header>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('input:radio').click(function () {
  if (this.checked) { // or $(this).attr('checked')
    alert(this.value); // or alert($(this).val());
  }
});
});
</script>
</header>
<body>
<div class="below">
<input type="radio" value="information" name="option0"/>
information
<input type="radio" value="communication" name="option0"/>
communication
<input type="radio" value="goods" name="option0"/>
goods
<input type="radio" value="attention" name="option0"/>
attention
</div>
</body>
</html>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top