是否可以隐藏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();
});
答案 0 :(得分:0)
您可以使用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();
});
如果没有效果,请尝试在循环内为每个元素进行注释或取消注释,我稍后会尝试。
答案 1 :(得分:0)
使用css代替prop
.css('display', 'none');
和
.css('display', 'block');