Javascript 获取选定的li文本和设置菜单';有文本吗
1) 如何从子菜单中获取文本? -我无法获取文本/值 2) 如何用单击的子菜单文本替换文本“菜单”? -当我用文本设置a时,插入符号意外地消失了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"
<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());
});