我想为以下每个复选框设置一个观察者:
<div id="listr">
<ul id="lr" style="list-style-type: none">
<p class="tir">Text 1</p>
<li class="ro"><input type="checkbox" name="r1" id="r1"/>A1</li>
<li class="ro"><input type="checkbox" name="r2" />A2</li>
<p class="tir">Text 2</p>
<li class="rubro"><input type="checkbox" name="r3" />B1</li>
<p class="tir">Text 3</p>
<li class="ro"><input type="checkbox" name="r4" />B2</li>
</ul>
</div>
如果我为每个复选框写一个观察者,它是有效的,但我想以一种简短的方式做,所以我需要像
这样的东西$$('listr.lr.li.input').invoke('observe',click,function(field) {
alert(this.name + ' clicked ' + this.checked);
// other stuff ...
});
哪个无效
提前致谢
答案 0 :(得分:6)
尝试使用有效的CSS3 selector:
$$('#listr input[type="checkbox"]').invoke('observe','click',function(field) {
alert(this.name + ' clicked ' + this.checked);
// other stuff ...
});