代码之家  ›  专栏  ›  技术社区  ›  Mark Watney

Yii2搜索/筛选后的单击事件

  •  0
  • Mark Watney  · 技术社区  · 8 年前

    我有这个密码 Jquery 我在其中捕获对 GridView 索引并重定向到另一页。

     $('tbody > tr').click(function(){
    
         pId= this.id;
    
         window.location.href = urllink + '&pId=' + pId;
    
    });
    

    代码运行良好,但前提是我不在索引中使用搜索/过滤器。

    在索引中的任何列上进行搜索后,单击没有响应。为什么会这样?我如何解决它?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Muhammad Omer Aslam    8 年前

    您可以使用 EVENT DELEGATION 为此目的。您可以将网格视图的父div作为目标,它可以是 pjax 如果您正在使用,也可以将id分配给 pjax公司 容器状

    <?php Pjax(['id'=>'my-container'])?>
    

    然后使用以下命令

     $(document).on('click','#my-container > table > tbody > tr',function(){
    
         pId= this.id;
    
         window.location.href = urllink + '&pId=' + pId;
    
    });
    

    或者您可以使用 pjax:success 更换后引发的事件 HTML 从服务器加载的内容,要执行上述操作,请参见 DOCS

    $(document).on('pjax:success', function() {
        $('#my-container > table > tbody > tr').on('click',function(){
             pId= this.id;
    
             window.location.href = urllink + '&pId=' + pId;
        });
    
    });
    

    编辑:可能需要调整元素路径 '#my-container > table > tbody > tr' 根据您的 HTML 您可能必须删除 > 从…起 #my-container > table 如果表不是第一个子表