【问题标题】:Populating jQuery drop down menu items填充 jQuery 下拉菜单项
【发布时间】:2013-08-27 21:22:10
【问题描述】:

您好,我正在尝试将我的导航基本上输入到 jQuery 下拉列表中,但无法让它显示任何内容...我尝试在底部附近添加我的链接列表替换:nav a.. 或应该我要在 nav a 的 css 中创建一个样式,并在该位置使用我的链接?这是我的完整代码:

   $("nav select").change(function() {
  window.location = $(this).find("option:selected").val();
});

// Create the dropdown base
$("<select />").appendTo("nav");

// Create default option "Go to..."
$("<option />", {
   "selected": "selected",
   "value"   : "",
   "text"    : "Go to..."
}).appendTo("nav select");

// Populate dropdown with menu items
$("nav a").each(function() {
 var el = $(this);
 $("<option />", {
     "value"   : el.attr("href"),
     "text"    : el.text()
 }).appendTo("nav select");
});

我正在使用 Shopify 平台,并打算将其用于导航菜单的移动版本。如果我能得到任何帮助,我将不胜感激!

【问题讨论】:

    标签: jquery css drop-down-menu navigation shopify


    【解决方案1】:

    您正在尝试将事件绑定到尚不存在的元素,请在创建选择后移动 change 绑定,或者您可以像这样链接调用:

    // Create the dropdown base
    $("<select />").appendTo("nav").change(function() {
      window.location = $(this).find("option:selected").val();
    });
    

    【讨论】:

    • 哇,感谢您的快速回复!因此,在替换了该代码 sn-p 并将我的链接列表添加到 nav a 之后,它应该可以工作吗?抱歉,我没有受过 Javascript 教育。再次感谢!
    • @Steven 是的,它应该可以工作,这是一个简单的演示 jsfiddle.net/dTZem,我也看到你是新来的,欢迎!如果您还没有,请阅读this guide 投票/接受答案
    • 好的,所以我以正确的方式复制了代码,但下拉列表仍然没有显示任何内容并且是空白的。我替换了 URL,但它只是刷新了页面......有什么想法吗?很抱歉让这一切变得混乱。
    • @Steven 你如何确切地展示你在做什么?你能用你的代码制作一个 jsbin 或 jsfiddle 吗?
    • 现在想想,会不会是因为JQuery没有正确加载?这是我的资产页面的标题:jQuery(function($){ 而这 http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js 已加载到标题中...
    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多