我有一个剑道树列表,我在其中搜索所在的行myDataItem
(借助 uid 或值)。当我执行时:
$("#treeList tbody").on("click", "tr", function (e) {
var rSelectedRow = $(this);
var getSelect = treeList.select();
console.log("'real' selected row: "+rSelectedRow);
console.log("selected row: "+getSelect);
});
在另一个函数中,我想得到一行(不是选定的,只是一行myDataItem
):
var grid = treeList.element.find(".k-grid-content");
var myRow = grid.find("tr[data-uid='" + myDataItem.uid + "']"));
//or
// myRow = treeList.content.find("tr").eq(myDataItem.val);
console.log("my row:" + myRow)
我得到:
“真实”选定行:对象 [tr.k-alt ...]
选定行:对象 { 长度:0 ... }
我的行:对象 { 长度:0 ... }
我需要与rSelectedRow
for相同的结构myRow
。那么我怎样才能得到真正的 tr 元素呢?
更新:我写了这个方法来找到我新添加的项目的行:
//I have an id of the item and put it in an invisible row in the treelist.
getRowWhereItem: function (itemId) {
treeList.dataSource.read();
$("#menuItemTree .k-grid-content tr").each(function (i) {
var rowId = $(this).find('td:eq(1)').text();
console.log(itemId);
console.log(rowId);
if (rowId == itemId) {
console.log("found");
console.log(itemId + " " + rowId);
var row = this;
console.log(row);
return row;
}
});
},
每次迭代都会到达所有 tr,直到/除了新添加的一个。为什么?