Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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
Jquery 如何使用列表项创建多个选择器_Jquery_Html_Css - Fatal编程技术网

Jquery 如何使用列表项创建多个选择器

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('

我最初有一个下拉列表,使用列表项而不是选择标记

最初的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('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(', '));
});