Это не работает, потому что $$
возвращает массив элементов, а Event
нуждается в одном элементе.Кроме того, $$('amounts')
не соответствует ни одному элементу, теги <amounts>
отсутствуют.
Лучше использовать один элемент-предок, который легко идентифицировать.
<form id="amounts-form">
<input class="amounts" type="radio" name="amount" id="amount-1" value="1" />
<input class="amounts" type="radio" name="amount" id="amount-2" value="2" />
<input class="amounts" type="radio" name="amount" id="amount-3" value="3" />
</form>
Теперь для работы с уникальным идентификатором мы можем использовать Event.on
$('amounts-form').on('change', '.amounts', function(event) {
alert('change detected');
});
Обратите внимание, что события фильтруются по '.amounts'
, точка говорит об использовании имени класса.
Если вы используете FireBug для FireFox или инструменты разработчика Chrome, вы можете протестировать части вашего скрипта прямо в консоли.Это действительно помогает определить, соответствует ли селектор тем элементам, о которых вы думаете, набрав $$('.amounts')