2017-03-01 16 views
1

我需要在兩個select2與jQuery之間選擇更改。如何在jQuery中的select2中的2 selectbox之間更改選定的選項元素?

例如:

<select id="fromCity" class="select2"> 
    <option value='THR' selected> Tehran </option> 
    <option value='LON'> London </option> 
</select> 

而且

<select id="toCity" class="select2"> 
    <option value='THR'> Tehran </option> 
    <option value='LON' selected> London </option> 
</select> 

現在,我點擊後需要THR - > LON變化LON - > THR

在jQuery中:

$('i[data-change-airport]').on('click', function() { 
    var fromCity = $('#fromCity').val(); 
    var toCity = $('#toCity').val(); 

    $('#fromCity').select2('val', toCity); 
    $('#toCity').select2('val', fromCity); 
}) 

但是這段代碼不起作用。問題在哪裏?

+0

您正在使用哪個select2版本?你是否從控制檯的城市和城市價值中獲得? – rahulsm

+0

嗨@rahul_m,我現在不選擇2版本。是的,我從控制檯和真正的城市和城市中獲得。 – mySun

+0

一旦檢查另一種方式,我給我的答案,它應該工作。 – rahulsm

回答

1

那就試試這個,

$('i[data-change-airport]').on('click', function() { 
    var fromCity = $('#fromCity').val(); 
    var toCity = $('#toCity').val(); 
    $('#fromCity').val(toCity).trigger("change"); 
    $('#toCity').val(fromCity).trigger("change"); 
}); 

試試看吧,它應該工作。

如果仍然無法正常工作,
你可以嘗試一個比較另類的

$('#fromCity').val(toCity).trigger('change.select2'); 
$('#toCity').val(fromCity).trigger('change.select2'); 

這應該工作。

+0

哇,謝謝:-) – mySun

+1

你最歡迎的隊友 – rahulsm

1

$('.select2').on('change', function() { 
 
    $('.select2').not(this).val($(this).val()); 
 
    $('.select2').not(this).val($(this).val()); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="fromCity" class="select2"> 
 
    <option value='THR' selected> Tehran </option> 
 
    <option value='LON'> London </option> 
 
</select> And 
 

 
<select id="toCity" class="select2"> 
 
    <option value='THR'> Tehran </option> 
 
    <option value='LON' selected> London </option> 
 
</select>

如果您正在使用最新版本> 4.0的一個嘗試這種方式

+0

嗨,謝謝你的幫助,但是我需要點擊後改變機場;-) – mySun

相關問題