2015-10-05 95 views
2

是否可以在不刪除select2的情況下隱藏選項?如何在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

http://stackoverflow.com/questions/25064487/select2-hide-certain-options-dynamically – calinaadi

回答

0

您可以發表評論的HTML代碼使用jQuery,您的代碼將是這個樣子:

$('#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(); 
}); 

如果沒有作品嚐試做這裏面每個元素的評論或取消評論的循環,我會稍後嘗試。

0

使用CSS代替支撐

.css('display', 'none'); 

.css('display', 'block'); 
相關問題