функция onClick возвращает undefined
По какой-то причине следующий код не работает должным образом:
<input onclick="$(function(){ alert($(this).attr('checked')); })" name="step1[agree]" id="step1_agree" value="1" type="checkbox">
Он предупреждает с помощью undefined. Я также пытался сделать что-то вроде этого:
onclick="$(function(){ var chk=$(this); alert(chk.attr('id')); })"
... но заканчивается все тем же результатом. Что я делаю не так и как я могу это исправить?
6 ответов:
<input onclick="alert($(this).attr('checked'));" name="step1[agree]" id="step1_agree" value="1" type="checkbox">Но лучшим вариантом было бы
<input name="step1[agree]" id="step1_agree" value="1" type="checkbox"> $('#step1_agree').click(function() { alert($(this).attr('checked)); });
Пожалуйста, узнайте о связывании в jQuery.
$('#step1_agree').bind('click', function() { alert(this.checked); });
Не уверен, почему вы обертываете его в подобную функцию. Это должно быть просто
onclick="alert($(this).attr('id'));"
Кажется, вам нужно использовать следующее:
<script type="text/javascript"> $(function(){ $('#step1_agree').click(function(){ alert('') }); }) </script>
Пожалуйста, обратитесь к ненавязчивый javascript
Вы можете использовать что-то вроде
$(function(){ $("#step1_agree").click(function(){ alert (this.checked); }); });
$(function(){ });уволят, как только дом будет готов.Вы должны назначить все обработчики событий внутри документа ready. Вы можете использовать
id selectorчтобы прикрепить aclick event handlerк нужному элементу. Для получения проверяемого атрибута можно использовать собственный код javascriptthis.checked.
Comments