Mükemmel cevap sağladığı @fmpwizard 2'yi Seç 3.5.2 ve aşağıdaki için çalışır, ancak 4.0.0 iş olmaz .
Çok erken bir zamandan beri (ama belki de bu soru kadar erken değil), Select2 "etiketlemeyi" desteklemiştir: izin verirseniz kullanıcıların kendi değerlerini ekleyebilecekleri. Bu, tags
seçenek aracılığıyla etkinleştirilebilir ve belgelerdeki bir örnekle oynayabilirsiniz .
$("select").select2({
tags: true
});
Varsayılan olarak, bu, girdikleri arama terimiyle aynı metne sahip bir seçenek oluşturacaktır. Özel bir şekilde işaretlemek istiyorsanız, kullanılan nesneyi değiştirebilir veya nesneyi seçildikten sonra uzaktan oluşturabilirsiniz.
$("select").select2({
tags: true,
createTag: function (params) {
return {
id: params.term,
text: params.term,
newOption: true
}
}
});
select2:select
Ekstra özellik , olay aracılığıyla iletilen nesne üzerinde kolayca tespit edilebilen bir bayrak görevi görmesine ek olarak, seçeneği sonuçta biraz farklı şekilde oluşturmanıza da olanak tanır. Dolayısıyla, bunun yeni bir seçenek olduğu gerçeğini, yanına " (yeni) " koyarak görsel olarak belirtmek isterseniz, bunun gibi bir şey yapabilirsiniz.
$("select").select2({
tags: true,
createTag: function (params) {
return {
id: params.term,
text: params.term,
newOption: true
}
},
templateResult: function (data) {
var $result = $("<span></span>");
$result.text(data.text);
if (data.newOption) {
$result.append(" <em>(new)</em>");
}
return $result;
}
});