我有一个复选框的检查列表,生成如下:
@foreach($documents as $PDF)
<input {{$PDF->problem != 0 ? "disabled" : ""}}type="checkbox"
id="mail_{{$PDF->id}}" value="{{$PDF->id}}"
name="email[]"
>
<input type="checkbox"
id="post_{{$PDF->id}}" value="{{$PDF->id}}"
name="post[]"
>
@endforeach
当您单击其中任何一个复选框时,应调用一个jQuery函数,该函数将使用单击复选框的值。
仅在单击这两个生成的复选框时调用该函数才会遇到麻烦。
但是,页面中有更多输入和复选框,因此$(document).delegate('input', 'click', function (event)
之类的内容是不可能的。
肯定有一种更简单的方法可以做到这一点。
答案 0 :(得分:2)
为这些元素添加一个通用的CSS类
item_text
然后使用选择器来定位它们
<input class="checkbox" type="checkbox" id="post_{{$PDF->id}}"
注意$(document).delegate('.checkbox:checkbox', 'click', function (event)...
有利于.on()
从jQuery 1.7开始,
.delegate()
方法提供了附加事件处理程序所需的所有功能。
因此将代码更改为
.on()
代替$(document).on('click', '.checkbox:checkbox', function (event)...
,您应该使用最接近的静态容器以获得更好的性能。