我有这样一个表:

<?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显示数据网格。

现在,每行都有一个Edit Button,该按钮具有相同的类,但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行(DataTables的默认显示),此操作非常好,此后不会触发click事件。

我对此深有体会。请帮助我指出我的错误。
谢谢。

最佳答案

试试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);
   });
});


根据文档:Attach an event handler function for one or more events to the selected elements https://api.jquery.com/on/

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

10-11 12:59