Javascript 在另一个选项组中选择2个清除项目
在选择Javascript 在另一个选项组中选择2个清除项目,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,在选择optgroup中的元素时,我希望取消选择其他optgroup中的元素。这是小提琴 $(“block#u house_suggest”).select2()。打开(“select2 selection”,函数(e){ 所选风险值=$(“#街区(房屋)建议[价值='”+e.val+“]”); var opts=selected.parent().children(); 所选变量_数组=[]; selected.prop('selected',true); 对于(i=0;i
optgroup
中的元素时,我希望取消选择其他optgroup
中的元素。这是小提琴
$(“block#u house_suggest”).select2()。打开(“select2 selection”,函数(e){
所选风险值=$(“#街区(房屋)建议[价值='”+e.val+“]”);
var opts=selected.parent().children();
所选变量_数组=[];
selected.prop('selected',true);
对于(i=0;i
var selected='';
$(“#block_house_suggest”)。选择2()
.打开(“选择2选择”,功能(e){
选择=e.val;
})
.关于(“变更”,职能(e){
所选var_列表=e.val;
var opts=$(“#街区(房屋)建议[值='”+所选+“]”))。parent().children();
var opts_数组=[];
对于(i=0;i
e.val
它在您的代码中有什么用途?给出当前选择的val
$("#block_house_suggest").select2().on("select2-selecting", function(e) {
var selected = $("#block_house_suggest [value='"+e.val+"']");
var opts = selected.parent().children();
var selected_array = [];
selected.prop('selected',true);
for (i = 0; i < opts.length; i++) {
if($(opts[i]).prop('selected')){
selected_array.push($(opts[i]).val());
}
}
$("#block_house_suggest").select2('data', selected_array);
});
var selected = '';
$("#block_house_suggest").select2()
.on("select2-selecting", function(e) {
selected = e.val;
})
.on("change", function(e) {
var selected_list = e.val;
var opts = $("#block_house_suggest [value='"+selected+"']").parent().children();
var opts_array = [];
for (i = 0; i < opts.length; i++) {
opts_array.push($(opts[i]).val());
}
selected_list = selected_list.filter(function(n) {
return opts_array.indexOf(n) != -1;
});
$("#block_house_suggest").select2('val', selected_list);
e.preventDefault();
});