-1

而不是“项目 1”等,我想将自己的数据放入 extjs 中的可滚动菜单下拉列表中,然后发送值以查询相应的页面。这是关于 extjs 菜单的文档:

var scrollMenu = new Ext.menu.Menu();
    for (var i = 0; i < 50; ++i){ // replace this loop with one that loops thru my data
        scrollMenu.add({
            text: 'Item ' + (i + 1), // replace this with text from array (see my data below)
            id: // replace this with number from array (see my data below)
        });
    }
    // scrollable menu
    tb.add({
        icon: 'preview.png',
        cls: 'x-btn-text-icon',
        text: 'Scrolling Menu',
        menu: scrollMenu
    });

查看在线示例并单击菜单中的“滚动菜单”按钮。

这是我的数据:

var locations = [
    [23, 'Main Room'],
    [1, 'Main Lobby'],
    [2, 'Training Room'],
    [56, 'Main Office'],
    [57, 'Lower Office'],
    [9, 'Lower Lobby'],
    [62, 'Conference Room'],
    [22, 'Outdoor Patio'],
    [63, 'Upper Lobby']
    ];
4

2 回答 2

0

这就是最终的工作!

var scrollMenu = new Ext.menu.Menu();
    Ext.each(locations, function (name, index, locationsItSelf) {

        scrollMenu.add({
           // text: 'Item ' + (i + 1)
            value: name[0],
            text: name[1]
        });
    });
于 2013-07-31T22:19:54.697 回答
0

这几乎是相同的过程。循环它以将其转换为对象数组。

var items = [];

Ext.Array.forEach(locations, function(item) {
    items.push({
        id: 'item' + item[0],
        text: item[1]
    });
});

new Ext.menu.Menu({
    items: items
});
于 2013-07-31T00:37:52.123 回答