Javascript 多下拉值引导
您好,我正在尝试将Javascript 多下拉值引导,javascript,jquery,html,Javascript,Jquery,Html,您好,我正在尝试将ul>li转换为select>选项,如果我在下拉列表中选择了第一个选项,应该可以查看它。我已经完成了,但是当我在一个页面中使用它两次时,我得到了错误 $(“.dropdown menu”)。在('click','li a',function()上{ $(“.btn:first child”).text($(this.text()); $(“.btn:first child”).val($(this.text()); }); *{ 边界半径:0!重要; } 李{ 列表样式:无;
ul>li
转换为select>选项
,如果我在下拉列表
中选择了第一个选项,应该可以查看它。我已经完成了,但是当我在一个页面中使用它两次时,我得到了错误
$(“.dropdown menu”)。在('click','li a',function()上{
$(“.btn:first child”).text($(this.text());
$(“.btn:first child”).val($(this.text());
});代码>
*{
边界半径:0!重要;
}
李{
列表样式:无;
}
量
量
设置值和文本时,将替换与该选择器匹配的所有dom节点。试着这样做
$(".dropdown-menu").on('click', 'li a', function(e){
$(".btn:first-child", $(e.target).closest('.dropdown')).text($(this).text());
$(".btn:first-child", $(e.target).closest('.dropdown')).val($(this).text());
});
设置值和文本时,将替换与该选择器匹配的所有dom节点。试着这样做
$(".dropdown-menu").on('click', 'li a', function(e){
$(".btn:first-child", $(e.target).closest('.dropdown')).text($(this).text());
$(".btn:first-child", $(e.target).closest('.dropdown')).val($(this).text());
});
要更改下拉列表的标题,只需更改文本属性,而不需要更改值
此外,您的下拉列表包含一个标题和一个字形图标(即:插入符号)。如果要保留下拉列表外观,则无法更改此元素
这意味着:
- 获取与当前单击的元素对应的下拉元素:
$(此).closest(“.dropdown”)
- 在该片段中找到按钮:
$(this).最近('.dropdown')。('.btn'))
- 使用以获取所有dom元素(1.文本节点:标题;2.跨度节点:跨度节点;3.文本节点:新行)
- 此列表按节点类型==textNode,文本内容不为空
片段:
$(“.dropdown menu”)。在('click','li a',function()上{
$(this).closest('.dropdown').find('.btn').contents().filter(函数(idx,ele){
返回this.nodeType==Node.TEXT\u Node&&this.textContent.trim().length!=0;
}).get(0).textContent=this.textContent+'';
});代码>
*{
边界半径:0!重要;
}
李{
列表样式:无;
}
量
量
要更改下拉列表的标题,只需更改文本属性,而不需要更改值
此外,您的下拉列表包含一个标题和一个字形图标(即:插入符号)。如果要保留下拉列表外观,则无法更改此元素
这意味着:
- 获取与当前单击的元素对应的下拉元素:
$(此).closest(“.dropdown”)
- 在该片段中找到按钮:
$(this).最近('.dropdown')。('.btn'))
- 使用以获取所有dom元素(1.文本节点:标题;2.跨度节点:跨度节点;3.文本节点:新行)
- 此列表按节点类型==textNode,文本内容不为空
片段:
$(“.dropdown menu”)。在('click','li a',function()上{
$(this).closest('.dropdown').find('.btn').contents().filter(函数(idx,ele){
返回this.nodeType==Node.TEXT\u Node&&this.textContent.trim().length!=0;
}).get(0).textContent=this.textContent+'';
});代码>
*{
边界半径:0!重要;
}
李{
列表样式:无;
}
量
量
您收到了哪个错误?我更新了代码,请检查:)您收到了哪个错误?我更新了代码,请检查:)