2009-11-24 3 views
0

На веб-странице есть много элементов радиосвязи, и каждый элемент радиостанции имеет несколько параметров. Я хочу, чтобы функция срабатывала всякий раз, когда проверяется один из элементов радиоэлемента. Как написать код с помощью 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> 

Я использую Firefox. На консоли ошибок говорится «Неизвестный псевдо-класс или псевдоэлемент« радио ». Есть идеи? Что не так?

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

+0

Входной радиокод динамически создается с использованием JQuery. – Steven

ответ

1

Возможно, это?

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

Нет, это не работает. – Steven

+0

Pygorex1 правильный. Селектор равен $ ('input [type = radio']). Если у вас все еще есть проблемы, я предлагаю смотреть за пределы селектора, который вы используете. –

0

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

+0

После прочтения вашего сообщения я добавил

так, чтобы все элементы ввода содержались внутри элемента формы. Но опять же, это не сработает. – Steven

+0

Но, работает ли код, несмотря на ошибку? – Konamiman

+0

Эта часть/фрагмент кода не работает. На консоли ошибок он все еще говорит «неизвестный псевдо-класс или псевдоэлемент« радио ». Другая часть кода JQuery работает отлично. – Steven

0

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

<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> 
+0

Входной радиокод динамически создается с помощью JQuery. – Steven