jquery - 如何隐藏(而不是删除)select2中的选项?

标签 jquery jquery-select2 jquery-select2-4

是否可以在 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/

相关文章:

javascript - JQuery 和 select2 - $ 范围冲突

javascript - 选择2。 js v4.0 : how display and format local array data source?

javascript - JQuery 如何根据选定的选项标签生成更多表单字段

jquery - 如何防止用户在控制台中获取密码字段值

javascript - Jquery Select2 插件不会应用于 JS 调用 Rails 应用程序后呈现的输入

jquery - 从 slect2.js 标签中的选项获取类

javascript - 简单的形式跳过验证/发送并直接发送到 ajax 消息

javascript - 根据输入类型显示/隐藏 div 组= "number"

javascript - 如何在 select2 中添加新标签?

javascript - this.$root.$emit 运行该事件两次