Сведенный до самого низкого элемента, я просто хочу установить значение скрытого поля, когда нажимаю на элемент на странице.
HTML:
<div id="toggleParent">
<input type="hidden" name="toggleValue" id="toggleValue" value="closed" />
<h2>Click Me</h2>
</div>
JQuery:
jQuery(document).ready(function() {
var toggle;
jQuery('div#toggleParent h2').click(function () {
if (toggle == '' || toggle == 'open') {
toggle = 'closed';
} else {
toggle = 'open';
}
jQuery('div#toggleParent input#toggleValue').val(toggle);
});
});
Очевидно, это не работает. (Зачем мне быть здесь в противном случае?) Событие click работает нормально, так как я могу пройти через него в Firebug. Но когда дело доходит до установки значения, код завершается ошибкой. Более того, попытка alert(jQuery('div#toggleParent input#toggleValue').length)
возвращает 0. На самом деле, alert(jQuery('div#toggleParent h2').length)
возвращает 0, даже если событие click для этого точного элемента только что сработало!
Чего мне не хватает?