我有一个表,在一列中有一个复选框。我希望用户能够通过点击复选框或周围的td来检查(或取消选中)复选框。为了使事情复杂化(可能),复选框设置了一个onchange事件(为了清楚起见,我在这里放了doSomething())。点击复选框,单击周围的TD
这是我目前的html:你可以看到我使用jQuery。
<tr>
<td onclick="jQuery(this).children('input').click();">
<input id="dvdorders-77_packed" name="dvd_orders[77][packed]" onchange="doSomething()" type="checkbox" value="1">
</td>
</tr>
我认为这是工作正常,但随后注意到,当我实际复选框点击,这算作上的复选框,单击并在TD上点击,在复选框有效点击两次,所以设置它并立即再次取消设置(并触发doSomething()两次)。
必须有更好的方法来做到这一点 - 任何人?谢谢,最大
'var id = this.id'是一种更好的方法(http://jsperf.com/el-attr-id-vs-el-id/7) –
好的,谢谢你的反馈 – AgnosticDev