使用切换或类似方法在Select2中显示/隐藏选项

时间:2014-09-04 03:48:51

标签: javascript jquery jquery-select2

我有一个下拉元素,我应用.select2()之前,当它是一个常见的SELECT元素时,我使用此代码来切换元素:

$('#orders_nat_lives_in_ccs').click(function() {
    $(".shipping_from option[value='MRW']").toggle(!this.checked);
    $(".shipping_from option:eq(" + ((this.checked) ? 1 : 0) + ")").prop('selected', true);

    $(".secure_shipping").toggle(this.checked);
});

但这对Select2无效,使用这个库的正确方法是什么?

这里有一个关于我正在讨论的Fiddle示例,第一个下拉列表已应用.select2()且代码不起作用,第二个下拉列表相同但没有Select2且相同代码有效。

1 个答案:

答案 0 :(得分:1)

由于选择即使隐藏了选项,我发现删除并附加选项更容易。请找到下面的代码

$('#orders_nat_lives_in_ccs').click(function() {
    if(this.checked){
        $(".shipping_from option[value='MRW']").remove()
       $(".shipping_from").select2("val", "DOMESA");
    }else{
        $(".shipping_from").prepend('<option value="MRW">MRW - COBRO EN DESTINO</option>');
       $(".shipping_from").select2("val", "MRW");

    }
//    $(".shipping_from option[value='MRW']").toggle(!this.checked);
//    $(".shipping_from option:eq(" + ((this.checked) ? 1 : 0) + ")").prop('selected', true);
});