我正在尝试编辑select2的选定值。所以我做了这个简单的代码:
HTML
<select id="sel" style="width: 100%">
<option value="1">Hello</option>
<option value="2">Friends</option>
<option value="3">Stackoverflow</option>
</select>
<br><br>
<button id="addok">Add OK</button>
JS
$(document).ready(function () {
$("#sel").select2();
$("#addok").click(function() {
actual_value = $("#sel").find(':selected').text();
if (actual_value.indexOf(" OK") > -1){
return
}
newtext = actual_value + " OK";
// this works.
$("#sel").find(':selected').text(newtext);
// this does not works.
$('#s2id_sel').find('.select2-choosen').text(newtext);
});
});
如您所见,按下按钮后,看起来没有任何变化,但是如果您打开下拉列表,则会在当前项目中成功添加OK
。
当我尝试使用select2-choosen
css类修改div中的实际值时,会出现问题。我不能通过这种方式访问它。
您有任何想法,建议或提示吗?
答案 0 :(得分:2)
点击change()
选择将显示附加的确定,您需要触发change()
没有标识为s2id_sel
和类.select2-choosen
的元素,以便最后声明不会更改文本。
<强> Live Demo 强>
$("#sel").find(':selected').text(newtext).change();