无法弄清楚如何将函数添加到w2ui网格中的特定上下文菜单项

时间:2015-10-11 22:27:03

标签: jquery w2ui

我一直在使用w2ui和网格,我似乎无法弄清楚如何获取上下文菜单项的id。我希望能够为每个上下文菜单项分配不同的功能,但无法弄明白!我总是遇到jquery的烦恼,这次也没有什么不同!

我目前正在抓取所有行数据。已经在菜单项上直接尝试了onMenuClickonClick而没有运气。这是我目前所写的内容。

$('#grid').w2grid({
name: 'grid',
header: 'List of Names',
show: {
    toolbar: true,
    footer: true
},
records: users,
columns: [
    { field: 'recid', caption: 'ID', size: '50px', sortable: true, attr: 'align=center' },
    { field: 'lname', caption: 'Last Name', size: '30%', sortable: true, resizable: true },
    { field: 'fname', caption: 'First Name', size: '30%', sortable: true, resizable: true },
    { field: 'email', caption: 'Email', size: '40%', resizable: true },
    { field: 'sdate', caption: 'Start Date', size: '120px', resizable: true },
],
menu: [
    { id: 1, text: 'Select Item', icon: 'fa fa-star', onMenuClick: function(event){
        alert("button 1 clicked!");
    } },
    { id: 2, text: 'View Item', icon: 'fa fa-camera' }, 
    { id: 4, text: 'Delete Item', icon: 'fa fa-minus' }
],
searches: [
    { field: 'lname', caption: 'Last Name', type: 'text' },
    { field: 'fname', caption: 'First Name', type: 'text' },
    { field: 'email', caption: 'Email', type: 'text' },
],
sortData: [{ field: 'recid', direction: 'ASC' }],
onMenuClick: function(target, event) {
    var record = this.get(event.recid);
    var id = event.target;
    var menuid = target.id  //trying to get context menu id
    var fname = record.fname;
    var lname = record.lname;
    var email = record.email;
    event.onComplete = function () {
    alert("ID:" + id + "First Name: " + fname + "Last Name: " + lname + "Email: " + email +"menu ID: " + menuid);
    }
}
});

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

想出来!值得庆幸的是没有花太多时间,但为了从上下文菜单项中提取ID,您可以使用以下内容:

var menuid = event.menuItem.id;