检查动态生成的输入ID

时间:2017-07-11 12:51:18

标签: javascript jquery html

我有一个复选框的检查列表,生成如下:

@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)之类的内容是不可能的。

肯定有一种更简单的方法可以做到这一点。

1 个答案:

答案 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)... ,您应该使用最接近的静态容器以获得更好的性能。