Jquery 如何使用列表项创建多个选择器
我最初有一个下拉列表,使用列表项而不是选择标记 最初的html如下所示:Jquery 如何使用列表项创建多个选择器,jquery,html,css,Jquery,Html,Css,我最初有一个下拉列表,使用列表项而不是选择标记 最初的html如下所示: $(“ul”)。在(“click”,“.init”,function()上{ $(this).closest(“ul”).children('li:not(.init')).toggle(); }); var allOptions=$(“ul”).children('li:not(.init'); $(“ul”)。在(“单击”,“li:not(.init)”,函数()上{ allOptions.removeClass('
$(“ul”)。在(“click”,“.init”,function()上{
$(this).closest(“ul”).children('li:not(.init')).toggle();
});
var allOptions=$(“ul”).children('li:not(.init');
$(“ul”)。在(“单击”,“li:not(.init)”,函数()上{
allOptions.removeClass('selected');
$(this.addClass('selected');
$(“ul”).children('.init').html($(this.html());
toggle();
console.log($('.selected.value').text();
});代码>
正文{
填充:30px;
}
保险商实验室{
高度:30px;
宽度:150px;
边框:1px#000实心;
}
ulli{
填充物:5px10px;
z指数:2;
}
ul li:不是(.init){
浮动:左;
宽度:130px;
显示:无;
背景:ddd;
}
ul li:not(.init):悬停,
ul li.所选:非(.init){
背景:#09f;
}
li.init{
光标:指针;
}
提交{
z指数:1;
}
李{
显示器:flex;
证明内容:之间的空间;
}
锂,
保险商实验室{
填充:0;
保证金:0;
}
- --选择--
杜邦1700
Man Uni1400
杜邦1200
要完成此操作,您需要使用所有相关选择器:
$(“ul”)。在(“click”,“.init”,function()上{
$(this).closest(“ul”).children('li:not(.init')).toggle();
});
var allOptions=$(“ul”).children('li:not(.init');
$(“ul”)。在(“单击”,“li:not(.init)”,函数()上{
ul=$(此)。最近的(“ul”);
lis=ul.find(“li:not(.init)”).removeClass('selected');
$(this.addClass('selected');
ul.children('.init').html($(this.html());
lis.toggle();
console.log($('.selected.value').text();
});代码>
正文{
填充:30px;
}
保险商实验室{
高度:30px;
宽度:150px;
边框:1px#000实心;
}
ulli{
填充物:5px10px;
z指数:2;
}
ul li:不是(.init){
浮动:左;
宽度:130px;
显示:无;
背景:ddd;
}
ul li:not(.init):悬停,
ul li.所选:非(.init){
背景:#09f;
}
li.init{
光标:指针;
}
提交{
z指数:1;
}
李{
显示器:flex;
证明内容:之间的空间;
}
锂,
保险商实验室{
填充:0;
保证金:0;
}
- --选择--
杜邦1700
Man Uni1400
杜邦1200
- --选择--
杜邦1700
Man Uni1400
杜邦1200
要完成此操作,您需要使用所有相关选择器:
$(“ul”)。在(“click”,“.init”,function()上{
$(this).closest(“ul”).children('li:not(.init')).toggle();
});
var allOptions=$(“ul”).children('li:not(.init');
$(“ul”)。在(“单击”,“li:not(.init)”,函数()上{
ul=$(此)。最近的(“ul”);
lis=ul.find(“li:not(.init)”).removeClass('selected');
$(this.addClass('selected');
ul.children('.init').html($(this.html());
lis.toggle();
console.log($('.selected.value').text();
});代码>
正文{
填充:30px;
}
保险商实验室{
高度:30px;
宽度:150px;
边框:1px#000实心;
}
ulli{
填充物:5px10px;
z指数:2;
}
ul li:不是(.init){
浮动:左;
宽度:130px;
显示:无;
背景:ddd;
}
ul li:not(.init):悬停,
ul li.所选:非(.init){
背景:#09f;
}
li.init{
光标:指针;
}
提交{
z指数:1;
}
李{
显示器:flex;
证明内容:之间的空间;
}
锂,
保险商实验室{
填充:0;
保证金:0;
}
- --选择--
杜邦1700
Man Uni1400
杜邦1200
- --选择--
杜邦1700
Man Uni1400
杜邦1200
您需要通过单击的项目来区分这两个列表
$(“ul”)。在(“click”,“.init”,function()上{
$(this).closest(“ul”).children('li:not(.init')).toggle();
});
$(“ul”)。在(“单击”,“li:not(.init)”,函数()上{
var allOptions=$(this).parents('ul').children('li:not(.init)');
allOptions.removeClass('selected');
$(this.addClass('selected');
$(this).parents('ul').children('.init').html($(this.html());
toggle();
console.log($('.selected.value').text();
});代码>
正文{
填充:30px;
}
ul{
高度:30px;
宽度:150px;
边框:1px#000实心;
}
ul li{填充:5px 10px;z索引:2;}
ul li:not(.init){float:left;宽度:130px;显示:无;背景:#ddd;}
ul-li:not(.init):悬停,ul-li.selected:not(.init){background:#09f;}
li.init{cursor:pointer;}
a#提交{z-索引:1;}
李{
显示器:flex;
证明内容:之间的空间;
}
李,ul{
填充:0;
保证金:0;
}
- --选择--
杜邦1700
Man Uni1400
杜邦1200
- --选择--
杜邦1700
Man Uni1400
杜邦1200
您需要通过单击的项目来区分这两个列表
$(“ul”)。在(“click”,“.init”,function()上{
$(this).closest(“ul”).children('li:not(.init')).toggle();
});
$(“ul”)。在(“单击”,“li:not(.init)”,函数()上{
(function($) {
$.fn.dropdownWidget = function() {
return this.each(function() {
var $ul = $(this);
if($ul.filter('ul').length == 0) {
return true; // continue
}
var $init = $ul.children('.init').on('click', function() {
$allOptions.toggle();
});
var $allOptions = $ul.children('li').not($init).on('click', function() {
var $li = $(this);
var selectedIndex = $allOptions.filter('.selected').index();
$allOptions.removeClass('selected').toggle();
$li.addClass('selected');
$init.html($(this).html());
if(selectedIndex !== $li.index()) { // trigger `change` event only if there was a change.
$ul.trigger('change', {
'element': $li,
'value': $li.data('value'),
'textValue': $li.find('.value').text(),
'numbers': $li.find('.numbers').text(),
'text': $li.text(),
'selectedIndex': $li.index() - 1 // index not counting .init, therefore `- 1`
});
}
});
});
};
})(jQuery);
$('#myContainer ul').dropdownWidget().on('change', function(event, data) {
console.log([data.value, data.textValue, data.numbers].join(', '));
});