【问题标题】:JQM Drop downs in menu header and event handling for each optionJQM 下拉菜单标题和每个选项的事件处理
【发布时间】:2012-12-03 20:25:23
【问题描述】:

您好,我正在尝试在菜单栏中制作一个带有 2 个下拉菜单的 JQM Webapp,例如 -

菜单 1 页面子菜单 1 的标题


Menu1 有 5 个主选项,Menu2 有 5 个子选项,

如果用户从 [First Menu] 中选择一个选项,则 5 个选项将显示在 Submenu1 中,并且每个子菜单都会有一个 HTML 页面。 [所以总共会有 25 页] 喜欢

Menu1 --Submenu1 --一个新页面[menu1-submenu1.html]

Menu1 --Submenu2 --一个新页面[menu1-submenu2.html]

Menu1 --Submenu3 --一个新页面[menu1-submenu3.html]

Menu1 --Submenu4 --一个新页面[menu1-submenu4.html]

Menu1 --Submenu5 ---新页面[menu1-submenu5.html]

Menu2 --Submenu1 - --一个新页面 [menu2-submenu1.html]

Menu2 --Submenu2 - --一个新页面[menu2-submenu2.html]

Menu2 --Submenu3 - --一个新页面 [menu2-submenu3.html]

.......................

我该如何为此进行事件处理?

以下代码为我的任务提供了一个基本的 GUI-http://jsfiddle.net/aVkgp/198/

【问题讨论】:

    标签: jquery-mobile


    【解决方案1】:

    如果您为第二个菜单设置一组值,您可以在每次更改第一个菜单时动态“重置”第二个菜单:

    var secondMenu = [
            '<option value="1-1">1</option><option value="1-2">3</option><option value="1-3">3</option>',
            '<option value="2-1">1</option><option value="2-2">3</option><option value="2-3">3</option>',
            '<option value="3-1">1</option><option value="3-2">3</option><option value="3-3">3</option>'
        ];
    $('#select-choice-1').on("change", function(e){
        $("#select-choice-2").html(secondMenu[$(this).val()]).selectmenu('refresh');
    }).trigger('change');//initialize for first-load​
    

    这将第一个菜单中所选选项的值与第二个菜单中的内容相关联。

    这是一个演示:http://jsfiddle.net/aVkgp/199/

    【讨论】:

    • 感谢您的回复。我有 2 个问题 -1)$('#select-choice-1').on("change", function(e){ $("#select-choice -2").html(secondMenu[$(this).val()]).selectmenu('refresh'); }).trigger('change');**这段代码到底做了什么??** 2 )每次菜单更改时如何加载不同的页面??
    • @user1721480 1) 选择第二个菜单元素,根据第一个选择菜单元素的值更新它的 HTML(第一个菜单元素的值需要是索引从零开始递增,以匹配secondMenu 数组),然后刷新选择菜单小部件。 2) 您需要一个绑定到第二个菜单的事件处理程序,它根据在第二个菜单中选择的值更改页面(因此最好设置 @ 的值987654325@ 元素到链接到所需页面的标识符。
    • 谢谢。以下是我的更新代码 .jsfiddle.net/aVkgp/201。您能否用代码 sn-p 指导我如何将其更新为以下条件,例如 -if(左dropdown=="1") && (right dropdown=="1") - 创建到 11.html 的链接 if (left dropdown=="2") && (right dropdown=="1") - 创建到 11.html 的链接21.html if (left dropdown=="2") && (right dropdown=="3") - 创建一个到 23.html'的链接
    • 谢谢。以下是我更新后的代码 .jsfiddle.net/aVkgp/201 。您能否用代码 sn-p 指导我如何将其更新为以下条件,例如 - if ( left dropdown=="LD1") && (right dropdown=="RD1") - 创建一个到 11.html 的链接 if (left dropdown=="LD2") && (right dropdown=="RD1") - 创建一个链接到 21.html if (left dropdown=="LD2") && (right dropdown=="RD3") - 创建一个到 23.html'的链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 2011-12-28
    • 2016-06-10
    • 2021-06-21
    • 2014-09-02
    • 1970-01-01
    相关资源
    最近更新 更多