2014-09-04 206 views
0

我有我申請.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

你能提供一個jsfiddle嗎?我沒有真正關注應該發生的事情 – 2014-09-05 13:31:05

+0

@JayRizzi我已經用例子更新了我的答案,看一看 – ReynierPM 2014-09-05 13:53:46

+0

我試圖以各種方式實現它,但它變得複雜。 – Sunand 2014-09-05 14:52:40

回答

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); 
}); 
+0

謝謝,它的工作原理我已經用其他人的解決方案更新了[Fiddle](http://jsfiddle.net/61v9edea/2/)。 – ReynierPM 2014-09-05 15:10:59

+0

歡迎您! – Sunand 2014-09-05 15:13:04