Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 导航栏下拉列表标题赢得';单击项目时不会更改_Javascript_Jquery_Html_Css_Twitter Bootstrap - Fatal编程技术网

Javascript 导航栏下拉列表标题赢得';单击项目时不会更改

Javascript 导航栏下拉列表标题赢得';单击项目时不会更改,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,我已经搜索了所有与此相关的问题,我可以找到,但我似乎无法改变文本 以下是相关的下拉列表: 市场来源 <div class="collapse navbar-collapse" id="navbarsExampleDefault"> <ul class="nav navbar-nav"> <!--First Dropdown - This needs to be fixed. Should change the text when clicked t

我已经搜索了所有与此相关的问题,我可以找到,但我似乎无法改变文本

以下是相关的下拉列表:

市场来源

<div class="collapse navbar-collapse" id="navbarsExampleDefault">
  <ul class="nav navbar-nav">


    <!--First Dropdown - This needs to be fixed. Should change the text when clicked to the store that was selected.-->
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" id="dropdown01" data-toggle="dropdown"
      aria-haspopup="true" aria-expanded="false"><span id="StoreType">Store Type</span></a>
      <div id="dropdownStore" class="dropdown-menu" aria-labelledby="dropdown01">
        <a class="dropdown-item" id="100" onclick="setStoreType(100);"  >Best Buy</a>
        <a class="dropdown-item" id="101" onclick="setStoreType(101);"  >Office Deopt</a>
        <a class="dropdown-item" id="102" onclick="setStoreType(102);"  >Office Max</a>
        <a class="dropdown-item" id="103" onclick="setStoreType(103);"  >Staples</a>
        <a class="dropdown-item" id="104" onclick="setStoreType(104);"  >Costco</a>
      </div>
    </li>
有人能帮我解决这个问题吗?这并不是非常重要,但它会让这个webapp有更多的响应能力

谢谢大家!

编辑:

我意识到我问这个问题已经有点晚了,但我还是没能让它起作用。我将需要的两个文件放在Github Gist中: JS: HTML:

我不知道是怎么回事。如果有人能看一下这些文件,告诉我哪里出了问题,那将大有帮助

另外,JS中有几个函数还没有真正做任何事情,因为它们还没有完成。所以现在就忽略这一点

问题在于:

$(this).closest('.dropdown-item').children('a').text($(this).text());
而html就像:

<div id="dropdownStore" class="dropdown-menu" aria-labelledby="dropdown01">
  <a class="dropdown-item" id="100" onclick="setStoreType(100);"  >Best Buy</a>

百思买

这里的
。下拉项
位于
。下拉菜单
下,您使用的是
最近()选择器
向上搜索DOM。请尝试
find()
,并将
.children('a')
作为
删除,而不是
。下拉项本身就是一个锚。

不确定这是否是您正在寻找的,但您可以不使用额外的setStoreType函数来完成。(虽然我不确定你想用这个函数做什么,所以我跳过了。)

如果您想将id作为存储类型,而不是链接中的文本,我可以稍后添加它

//下拉切换
/*
$(“.下拉菜单a”)。单击(函数(){
$(this).closest('.dropdown item').children('a').text($(this).text())
});
*/
函数setStoreType(){
}
//下拉开关
$(“.dropdown item”)。在(“单击”,函数(){
$(“#StoreType”).text($(this.text());
});
。下拉项:悬停{
光标:指针;
}

  • 商店类型 百思买 办公室除臭剂 办公室最大值 史泰博 好市多
我仍然没有找到这个问题的答案。我已经发布了一些github GIST,以便所有的代码都在那里。这与jQuery工作不正常有关,或者可能与我的下拉列表格式不正确有关?

感谢您的快速回复!我已经实现了更改,但它仍然没有更改。这就是我想要的e将其更改为:
//下拉切换$(“.Dropdown menu a”)。单击(function(){$(this).查找('.Dropdown item')。文本($(this).text())});
我觉得我们离得越来越近了。我只想让按钮上的文本变为下拉菜单中单击的内容。我还意识到我没有导入jQuery。我做了所有这些,然后插入了你在那里的内容。它就是不会变。我不明白为什么。setStoreType()函数是在模式中为不同的内容设置文本。如果在我的示例中单击文本,它将更改顶部项目的文本。对,当我在此处单击它时,它会更改。但是我将它放入代码中,文本没有更改。我以为这是因为我没有导入jQuery。但事实并非如此。我甚至尝试将它放入我的代码中这仍然没有帮助。你在控制台中遇到任何错误吗?你能在点击功能中做一个简单的控制台。记录(“一些文本”),看看javascript是否正在运行吗?这并不能回答问题。请查看回答问题的指南
<div id="dropdownStore" class="dropdown-menu" aria-labelledby="dropdown01">
  <a class="dropdown-item" id="100" onclick="setStoreType(100);"  >Best Buy</a>