我有一个下拉元素,我应用.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且相同代码有效。
答案 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);
});