单击事件在单个表行上工作?

时间:2017-07-31 10:36:08

标签: php jquery laravel blade

我在jQuery中选择一行表时遇到问题,该表用类edit标识,然后在定义时用变量编号,所以我的第一行会有一个类edit1,第二个edit2等等。

我担心的是我可以在表格的最后一行触发click事件,但我明白为什么会这样,但是我无法找到有关如何实际动态选择这些行的信息。

我尝试了这样的 .each 方法:

$('table tr').each(function(){
        $('.edit{{server->id}}').on('click', function (){
                $(this).attr("contenteditable", "true");
                $(this).addClass('form-group');
                $('div.editable').addClass('form-control');
                $('div.hidbtn').removeAttr('hidden');
        });
 });

它显然无法正常工作,因为我的{{server->id}}只是指从创建行的foreach中获取的最后一个{{server->id}}

如何以一种方式选择每一行并为每一行触发点击事件?

剧本中的foreach?

对不起,如果这会导致这样一个愚蠢的问题..

我顺便使用Laravel 5.4。

提前致谢!

2 个答案:

答案 0 :(得分:0)

当你通过每个tr遍历表并需要将事件绑定到每行内的元素.edit时,你就可以找到"该元素并将事件绑定到它。

$('table tr').each(function(){
    $(this).find('.edit').on('click', function() {
        ...
    });
});

答案 1 :(得分:0)

试试这个

var id=1;
$('table tr').each(function(){
    $('.edit'+id).on('click', function (){
        $(this).attr("contenteditable", "true");
        $(this).addClass('form-group');
        $('div.editable').addClass('form-control');
        $('div.hidbtn').removeAttr('hidden');
    }); 
    id+=1;
});

或者这样做 HTML: -

<td onclick="clickFunctio()"></td>

Jquery的: -

   function clickFunctio() {
       $(this).attr("contenteditable", "true");
       $(this).addClass('form-group');
       $('div.editable').addClass('form-control');
       $('div.hidbtn').removeAttr('hidden');
   }