2013-02-25 39 views
0

我有以下模板'名稱'通過PHP/MySQL填充。請注意,我有一個刪除按鈕(一個標籤)。Kendo listview項目/元素訪問

<script type="text/x-kendo-tmpl" id="template"> 
    <div class="usrList"> 
     <strong style="position:relative;top:5px;left:5px">${Name}</strong> 
     <a class="k-button k-button-icontext k-delete-button" id="delete_user" onClick="delusr()" style="float:right;font-size:85%;padding:3px;"><span class="k-icon k-delete"></span>Remove</a> 
    </div> 
</script> 

當我點擊刪除按鈕時,我想讓它旁邊的'名稱'(強標記)。說裏面一個js函數喜歡這個(不ofcourse工作)

function delusr(e){ 
    var listView = $("#listView").data("kendoListView"); 
    var data = listView.dataSource.view(); 
    alert(data[$(e).index()].Name); 
} 

回答

4

添加thisdelusr參數:

<script type="text/x-kendo-tmpl" id="template"> 
    <div class="usrList"> 
     <strong style="position:relative;top:5px;left:5px">${Name}</strong> 
     <a class="k-button k-button-icontext k-delete-button" id="delete_user" onClick="delusr(this)" style="float:right;font-size:85%;padding:3px;"><span class="k-icon k-delete"></span>Remove</a> 
    </div> 
</script> 

和定義函數delusr爲:

function delusr(elem) { 
    var listView = $("#listView").data("kendoListView"); 
    var item = $(elem).closest("[role='option']"); 
    var data = listView.dataSource.getByUid(item.data("uid")); 
    alert(data.Name); 
} 

我所做的是找到已被點擊的列表元素的uid,然後使用getByUid該項目。

+0

Thanks OnaBai!你能解釋最接近功能的線嗎? – Madhu 2013-03-13 17:48:03

+1

查找具有名爲'role'的屬性'$(elem)'節點的最接近的祖先,其值爲''option'' – OnaBai 2013-03-13 17:53:23