Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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 获取选定的li文本和设置菜单';有文本吗_Javascript_Jquery_Html_Twitter Bootstrap - Fatal编程技术网

Javascript 获取选定的li文本和设置菜单';有文本吗

Javascript 获取选定的li文本和设置菜单';有文本吗,javascript,jquery,html,twitter-bootstrap,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"

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>

虽然很容易


将链接文本和符号放在不同的跨距中是更好的方法。这样,如果您希望为链接文本和链接符号提供单独的样式,则样式设置将很容易。同样,您可以通过javascript仅操纵链接的
文本

所以html可以

<a id="testa" class="dropdown-toggle" data-toggle="dropdown" href="#">
    <span class="link-text">Menu</span> 
    <span class="caret">&</span>
</a>

这仍然会使用
$('#testa').html(clickedSubMenu.text()+'')删除
.caret
span也会保留插入符号图标。啊,我可以用“text()”来获得它。我用“val()”试了很多次。我想我也试过用“text()”。这正是我需要的。我离得那么近,却又离得那么远。谢谢朋友们。当计时器用完时,我会接受。在样式化下拉库中,不仅仅是将select/option替换为ul/li,还有很多事情要做。大多数情况下,会隐藏选择框,以便它仍然可以用于访问选定字段。它会按照预期的方式进行操作。您可以将
菜单
文本包装在span中,然后在子菜单上单击更改该span的文本,或者只需在
testa
html中添加
text+
。我认为前者更好。
<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());
});
$("#testul").on("click", "li a", function (event) {
    console.log(event);
    event.preventDefault();
    var clickedSubMenu = $(this);
    $('#testa').text(clickedSubMenu.text()); // <-- removes the caret icon
});
$("#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
});
<a id="testa" class="dropdown-toggle" data-toggle="dropdown" href="#">
    <span class="link-text">Menu</span> 
    <span class="caret">&</span>
</a>
$("#testul").on("click", "li a", function (event) {
    event.preventDefault();
    $('#testa').find('.link-text').text($(this).text());
});