javascript - 获取选定的 li 文本并使用它设置菜单的文本

标签 javascript jquery html twitter-bootstrap

1) 如何从子菜单中获取文本? - 我无法获取文本/值 2) 如何用单击的子菜单的文本替换文本“菜单”? - 当我用文本设置 a 时,插入符号意外地消失了

<a id="testa" class="dropdown-toggle" data-toggle="dropdown" href="#">Menu 
    <span class="caret"></span>
</a>
<ul id="testul" class="dropdown-menu">
    <li><a href="#">Submenu 1-1</a></li>
    <li><a href="#">Submenu 1-2</a></li>
    <li><a href="#">Submenu 1-3</a></li>                        
</ul>

我有这个 jQuery 来监听点击:

$("#testul").on("click", "li a", function (event) {
    console.log(event);
    var clickedSubMenu = ???;
    $('#testa').text(clickedSubMenu); // <-- removes the caret icon
});

注意:如果我使用 selectoption 是可能的,但是因为我需要这些元素是 Bootstrap 的样式,所以我坚持使用

<select id="combo">
  <option value="1">Test 1</option>
  <option value="2">Test 2</option>
</select>
<input id="button1" type="button" value="Click!" />

$('#button1').click(function(){ 
    alert($('#combo').val());
});

最佳答案

虽然很简单,

http://jsfiddle.net/muqjtdg6/

$("#testul").on("click", "li a", function (event) {
    console.log(event);
    event.preventDefault();
    var clickedSubMenu = $(this);
    $('#testa').text(clickedSubMenu.text()); // <-- removes the caret icon
});

请注意,我使用了 event.preventDefault() ,您不需要它,但如果您为您的 anchor 输入一个 url,您将需要有该声明

编辑:

如果你想保留插入符号设置html()而不是http://jsfiddle.net/muqjtdg6/1/

$("#testul").on("click", "li a", function (event) {
    console.log(event);

    var clickedSubMenu = $(this);
    $('#testa').html(clickedSubMenu.text()+'<span class="caret"></span>'); // <-- removes the caret icon
});

关于javascript - 获取选定的 li 文本并使用它设置菜单的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28455409/

相关文章:

jQuery - 使用 Live 打开窗口,然后关闭它?

javascript - 如何在不刷新页面的情况下清除由传单绘制工具创建的先前图层?

html - 图像之间的垂直间距

javascript - onclick创建html对象

html - 为什么我的动画在 ie 11 中不起作用

javascript - 道场旋转轮获得值(value)

Javascript - 类元素具有其他类元素的属性

javascript - learnyounode #9 杂耍异步

javascript - Javascript 的递归

javascript - 如何获取在 "live"事件中使用ajax添加的元素的值?