是否可以在 select2 中隐藏该选项而不删除它?
我当前的代码仅禁用该选项:
$('#company_id').change(function () {
var company_name = $("#company_id option:selected").text();
var $owner_id = $("#owner_id");
$owner_id.select2("destroy");
$("#owner_id option:not(:contains('(" + company_name + ")'))")
.prop('disabled',true);
$("#owner_id option:contains('(" + company_name + ")')")
.prop('disabled',false);
$owner_id.select2();
});
最佳答案
您可以使用 jQuery 注释 HTML 代码,您的代码将如下所示:
$('#company_id').change(function () {
var company_name = $("#company_id option:selected").text();
var $owner_id = $("#owner_id");
$owner_id.select2("destroy");
//Comment element
element = $("#owner_id option:not(:contains('(" + company_name + ")'))");
comment = document.createComment(element.get(0).outerHTML);
element.replaceWith(comment);
//Unomment element
$("#owner_id option:contains('(" + company_name + ")')").replaceWith(comment.nodeValue);
$owner_id.select2();
});
如果不起作用,请尝试在循环中对每个元素进行注释或取消注释,我稍后会尝试。
关于jquery - 如何隐藏(而不是删除)select2中的选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32948213/