2016-11-22 41 views
0

我用法師嵌套網格視圖在我的項目,它可以列出基於其包中的所有地塊,但摺疊/ UnCollapses沒有在我的腳本工作塌陷和uncollaps沒有在我的腳本工作

錯誤的是.live不是函數這在我的Jquery版本中不被支持,我已經將它改成了.On,但它仍然不工作,請檢查我的腳本並幫助我解決錯誤。

腳本

<script> 
    $(document).ready(function() { 
     var size = $("#main #gridT > thead > tr >th").size(); // get total column 
     $("#main #gridT > thead > tr >th").last().remove(); // remove last column 
     $("#main #gridT > thead > tr").prepend("<th></th>"); // add one column at first for collapsible column 
     $("#main #gridT > tbody > tr").each(function (i, el) { 
      $(this).prepend(
        $("<td></td>") 
        .addClass("expand") 
        .addClass("hoverEff") 
        .attr('title',"click for show/hide") 
       ); 

      //Now get sub table from last column and add this to the next new added row 
      var table = $("table", this).parent().html(); 
      //add new row with this subtable 
      $(this).after("<tr><td></td><td style='padding:5px; margin:0px;' colspan='" + (size - 1) + "'>" + table + "</td></tr>"); 
      $("table", this).parent().remove(); 
      // ADD CLICK EVENT FOR MAKE COLLAPSIBLE 
      **$(".hoverEff", this).live("click", function() {** 
       $(this).parent().closest("tr").next().slideToggle(100); 
       $(this).toggleClass("expand collapse"); 
      }); 
     }); 

     //by default make all subgrid in collapse mode 
     $("#main #gridT > tbody > tr td.expand").each(function (i, el) { 
      $(this).toggleClass("expand collapse"); 
      $(this).parent().closest("tr").next().slideToggle(100); 
     }); 

    }); 
</script> 

結果是 enter image description here

回答

0

.live被棄用,在jquery的版本1.9和進一步除去。請使用.on代替:

$("#gridT").on("click",'.hoverEff',function(){ 
     $(this).toggleClass("expand collapse"); 
     $(this).parent().closest("tr").next().slideToggle(100); 
}); 
+0

我相應地對其進行了更改,但現在問題在於其未合攏且仍處於單擊事件狀態時無法再次合攏它。 – ZKF3340320

+0

請在這裏添加工作片段。 –

+0

我剛剛在上面的工作片段中更改了您的代碼。你是否需要添加所有工作片段,包括控制器,模型和視圖? – ZKF3340320