0

我一直在使用 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);
    }
}
});

任何帮助将不胜感激!

4

1 回答 1

0

弄清楚了!幸好没花太多时间,但为了从单击的上下文菜单项中提取 ID,您可以使用以下命令:

var menuid = event.menuItem.id;
于 2015-10-11T23:33:52.580 回答