我可以更改选项值的文本吗?
我找不到如何做到这一点...
我必须这样做
$("#select").select2("destroy");
$('#select option[value="' + id + '"]').text(new_text);
$("#select").select2();
提前致谢 !
最佳答案
也在纠结这个问题。找到了更干净的方法。
var $select = $('.js-select2');
$select.select2({
templateResult: updateSelectTemplate,
templateSelection: updateSelectTemplate
})
function updateSelectTemplate(data) {
var $option = $(data.element);
return $option.data('display');
}
$('.js-change').on('click', function(e) {
$select.find('option:first').data('display', 'Some new value');
$select.trigger('change');
});
select {
width: 200px
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.2/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.2/js/select2.min.js"></script>
<select class="js-select2">
<option data-display="Display 1"></option>
<option data-display="Display 2"></option>
<option data-display="Display 3"></option>
</select>
<button class="js-change">Change value</button>
关于jquery-select2 - jquery select2 更改选项文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37330407/