2013-02-15 47 views
0

我有一個web應用程序與kendo ui網格。網格是負載Bakbone.js當我點擊一個按鈕,我可以刪除與下一個代碼行:重新加載kendo ui網格行項目代碼執行錯誤

$(document).on("click", "#grid tbody tr .ob-delete", function (e) { 
    var item = grid.dataItem($(this).closest("tr")); 
    var check = confirm("Do I delete:" + item.City); 
    if (check) { 
     grid.removeRow($(this).closest("tr")); 
    } 
}); 

按鈕的cofiguration刪除:

command: [ 
      "edit", { 
      name: "destroy", 
      text: "Remove", 
      className: "ob-delete" 
     }] 

當我重新加載內容(網格)按下按鈕,如果我想刪除一行,item.City會產生錯誤。

完整的例子here

編輯: 解決here!感謝@ Whizkid747!

command: [ "edit",{ 
     //... 
     click: deleteRow 
}] 

添加之後,當點擊按鈕調用一個函數:

function deleteRow(e){ 
     var item = this.dataItem($(e.currentTarget).closest("tr")); 
     var check = confirm("Do I delete:" + item.City); 
     if (check) { 
      grid.removeRow($(e.currentTarget).closest("tr")); 
     } 
    } 

回答

1

不知道,但你的網格實際上是不一樣的格但老(前重新加載)創建一個和第二個網格。

以下行改爲:

var item = $('#grid').data().kendoGrid.dataItem($(this).closest("tr")); 

updated version

我建議你只是通過dataSource.data()方法更改數據,而不是重新創建網格。或者改變你的邏輯,以便在重新創建它之前,你實際上可以使用這個小部件。

+0

它似乎解決了,但增加了更多的內容,它重複確認多次。與另一個按鈕的示例[這裏](http://jsfiddle.net/Lu9Qf/2/) – vicenrele 2013-02-15 20:17:27

+1

你可以更新網格刪除代碼與提到的一個[這裏](http://stackoverflow.com/questions/14823072/一個按鈕在一個kendo-ui網格不工作的移動設備/ 14917592#comment20939783_14917592)。如果它仍然沒有工作,我會看看它。 – Whizkid747 2013-02-17 18:35:38