javascript - 基于类的点击事件在 10 行后无响应 - 数据表

标签 javascript php jquery datatable

我有一个这样的表:

<?php 
    foreach($cars->result() as $car){
    echo '<tr>';
    echo '<td id="'.$car->car_id.'_id">'.$car->car_id.'</td>';
    echo '<td id="'.$car->car_id.'_nm">'.$car->car_name.'</td>';
    echo '<td id="'.$car->car_id.'_ph">'.$car->rate_per_hr.'</td>';
    echo '<td id="'.$car->car_id.'_pk">'.$car->rate_per_km.'</td>';
    echo '<td id="'.$car->car_id.'_mh">'.$car->min_hrs.'</td>';
    echo '<td><a href="#" id="ed_'.$car->car_id.'" class="car_edit"><span class="glyphicon glyphicon-edit"></span></a></td>';
    echo '<td><a href="#" id="de_'.$car->car_id.'" class="car_delete"><span class="glyphicon glyphicon-remove"></span></a></td>';
    echo '</tr>';
    }
    ?>

我正在使用 DataTables 来显示数据网格。

现在,我的每一行都有一个编辑按钮,它具有相同的类,但具有单独的 ID,如上面的代码所示。基于对类的点击,我提取 ID,然后执行一些 ajax 操作。

为了简单起见,编辑了代码

 $('.car_edit').click(function(e){
  e.preventDefault();
  var id= $(this).attr('id');
  var len = id.length;
  var row_id = id.substr(3 , len);
  console.log(row_id);
});

现在,前 10 行(数据表的默认显示)工作得非常好,之后不再触发点击事件。

我正在思考这个问题。请帮我指出我的错误。 谢谢。

最佳答案

尝试 jquery on():

$(function(){
   $(document).on('click','.car_edit',function(event){
       event.preventDefault();
       var id= $(this).attr('id');
       var len = id.length;
       var row_id = id.substr(3 , len);
       console.log(row_id);
   });
});

根据文档:将一个或多个事件的事件处理函数附加到所选元素 https://api.jquery.com/on/

关于javascript - 基于类的点击事件在 10 行后无响应 - 数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29354432/

相关文章:

javascript - 查找 JavaScript 对象数组中的属性是否有效

javascript - 从嵌套函数返回

php - 如何使用流 stream_socket_client() 在 aruba 中打开 ssl 连接

php - blueimp/jQuery-File-Upload 与 Laravel 如何整合?

php - 如何在 PHP 中缓存网页?

javascript - 如何在 flexslider 中垂直居中图像

php - 将鼠标悬停在另一个 div 上时向右旋转和移动图像

javascript - 单击时未触发 onClick 事件 - React

javascript - 使用 Angular.js 在 Canvas 上绘图

javascript - 单击具有相同名称的第二类名称