2017-02-16 87 views
1

我試圖在每次選擇框的最後添加select2選項,當我從select2選項中選擇一個新選項時,它會添加有時第一個位置,有時候是其他選項的最後或中間選項。如何在select2框的最後添加新選項?

像第一個我選擇A.現在我想選擇B,我想B後在A框中。即A | B ..但它並非一直都在發生。

$('#destination').select2({allowClose: true});
.select2-container { width: 100%; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="https://select2.github.io/select2/select2-3.5.1/select2.css" rel="stylesheet"/> 
 
<script src="https://select2.github.io/select2/select2-3.5.1/select2.js"></script> 
 

 
<select id="destination" class="destination form-control" multiple="multiple"> 
 
    <option value="kol">kolkata</option> 
 
    <option value="ban">Bangalore</option> 
 
    <option value="del">Delhi</option> 
 
</select>

+0

你能證明你嘗試過這樣的問題可以更具體的代碼 –

回答

0

使用append

$("#add_option_b").on("click", function() { 
 
    $("#select_id").append("<option value='B'>B</option>") 
 
}); 
 

 
$("#add_option_c").on("click", function() { 
 
    $("#select_id").append("<option value='C'>C</option>") 
 
}); 
 

 
$("#add_option_d").on("click", function() { 
 
    $("#select_id").append("<option value='D'>D</option>") 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<select id="select_id"> 
 
    <option value"A">A</select> 
 
</select> 
 
<br /> 
 
<br /> 
 
<button id="add_option_b">Add option B</button> 
 
<br /> 
 
<br /> 
 
<button id="add_option_c">Add option C</button> 
 
<br /> 
 
<br /> 
 
<button id="add_option_d">Add option D</button>

希望幫助:)

+0

選擇應多選擇。我的意思是選擇2和所有的選項應安排。如果我在選擇中有3個選項。如果我選擇了所有這些選項..它應該像選擇框中的[A,B,C]不像[C,A,B]。 –

0

試試這個,它會工作

$(element).select2('data').map(function (obj) { return obj.id; }) 
0

Working fiddle

您應該使用option的索引,而不是使用jQuery方法.index()檢查下面的示例。

希望這會有所幫助。

$('#destination').select2({allowClose: true}); 
 
$('#destination').on('change', function(){ 
 
    var selected_values = [], 
 
     arr = []; 
 

 
    if($(this).val().length) 
 
    { 
 
    $.each($(this).val(), function(i,v){ 
 
     arr[ $('[value="'+v+'"]').index() ] = v; 
 
    }); 
 
    arr.map(function(x){ selected_values.push(x); }) 
 

 
    console.log(selected_values); 
 
    } 
 
});
.select2-container { width: 100%; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="https://select2.github.io/select2/select2-3.5.1/select2.css" rel="stylesheet"/> 
 
<script src="https://select2.github.io/select2/select2-3.5.1/select2.js"></script> 
 

 
<select id="destination" class="destination form-control" multiple="multiple"> 
 
    <option value="kol" >kolkata</option> 
 
    <option value="ban" >Bangalore</option> 
 
    <option value="del" >Delhi</option> 
 
</select>

+0

嗨#Zakaria Achark我得到一個問題,當我添加一個選項,而不是從選擇列表中刪除。我不能刪除選擇框中的所有選項,當我刪除獲取 - 「未捕獲TypeError:無法讀取jQuery中的屬性'空'的空值」。 –

+0

不客氣,很高興我能幫上忙。請在你的問題中更新我的問題中的jsFiddle。並在此發佈。 –

+0

http://stackoverflow.com/questions/42300999/iterate-over-javascript-object-and-remove-array它不是重複的。審查它。 –

相關問題