Javascript 来自optselect所选插件的Jquery筛选结果
我很想得到这样的结果Javascript 来自optselect所选插件的Jquery筛选结果,javascript,jquery,html,jquery-chosen,Javascript,Jquery,Html,Jquery Chosen,我很想得到这样的结果 job=online,print&music=tribal 单击“我的表单”上的按钮后: 选择了插件,但我没有找到任何解决方案来以这种方式获得结果,所以我想过滤html是唯一的方法 这是一个样本 <ul class="chosen-results"> <li class="group-result">Job</li> <li class="result-selected group-option" s
job=online,print&music=tribal
单击“我的表单”上的按钮后:
选择了插件,但我没有找到任何解决方案来以这种方式获得结果,所以我想过滤html是唯一的方法
这是一个样本
<ul class="chosen-results">
<li class="group-result">Job</li>
<li class="result-selected group-option" style="" data-option-array-index="2">Online</li>
<li class="group-option" style="" data-option-array-index="3">Dj</li>
<li class="result-selected group-option" style="" data-option-array-index="4">Print</li>
<li class="active-result group-option" style="" data-option-array-index="5">Navy</li>
<li class="group-result">Music</li>
<li class="active-result group-option" style="" data-option-array-index="7">Jazz</li>
<li class="active-result group-option" style="" data-option-array-index="8">Rock</li>
<li class="active-result group-option" style="" data-option-array-index="9">House</li>
<li class="result-selected group-option" style="" data-option-array-index="10">Tribal</li>
</ul>
请帮忙
谢谢您可以找到选项值及其optgroup标签,如下所示:
$("select").change(function(){
var selected = $(this).val()
var selectedTitlte = $(this).find("option:selected").closest("optgroup").attr("label");
$("p").html(selectedTitlte + ":" + selected);
});
更新
对于多个,您可以执行以下操作:
$("select").change(function(e){
var select = $(this);
var multiArray = $(this).val();
var lastValue;
setTimeout(function(){
lastValue = multiArray.reverse()[0]
var findCurrentTitle = select.find("option[data-text='"+lastValue+"']").closest("optgroup").attr("label");;
$("p").append(findCurrentTitle + ":" + lastValue+"<br/>");
},100);
});
更新
修复了所选内容多次显示的问题,并修复了删除问题:
$('body').on("click", ".chosen-drop li.group-option", function() {
$(".results").append("<div data-target='"+$(this).text()+"'>"+$(this).prevAll(".group-result:first").text() + ":" + $(this).text()+"</div>");
});
$('select').on('change', function(event, params) {
if(params.deselected != undefined){
$("div[data-target='"+params.deselected+"']").remove();
}
})
谢谢,但这只适用于单个选择选项组。我需要多个选择optgroup,我在第一次选择后编辑了fiddle,我使用您的代码获得了重复项,当我删除一个选项时,不会从数组中删除…请帮助谢谢jmore009已修复。