这个页面上的答案让我几乎到了那里。因为其他人似乎也有同样的问题,所以我分享了我是如何解决的。
Kevin Browns 回答的一些评论询问如何在输入文本并突出显示后模拟 ENTER。
我设法做到了只有超时:
setTimeout(function() { $('.select2-results__option').trigger("mouseup"); }, 500);
所以,完整的解决方案是这样的:
$('select').select2();
function select2_search ($el, term) {
$el.select2('open');
// Get the search box within the dropdown or the selection
// Dropdown = single, Selection = multiple
var $search = $el.data('select2').dropdown.$search || $el.data('select2').selection.$search;
// This is undocumented and may change in the future
$search.val(term);
$search.trigger('input');
setTimeout(function() { $('.select2-results__option').trigger("mouseup"); }, 500);
}
$('button').on('click', function () {
var $select = $($(this).data('target'));
select2_search($select, 'Arizona');
});