当我点击菜单时,我希望我的select2元素不清除搜索的术语。我已经搜索了很多这个功能,似乎有一天可能,但它在版本4.0中no longer works?我也尝试过实施this answer,但似乎没有用。
我的代码目前如下:
$(document).ready(function () {
function displayCurrentValue(selectedObject, currentSearchTerm) {
return currentSearchTerm;
}
$("#reference").select2({
nextSearchTerm: displayCurrentValue
});
$("#reference").select2({
width: "100%",
language: "pt-BR",
ajax: {
//omitted
}
});
});
无论我尝试当前的行为是什么:
期望的行为是:
答案 0 :(得分:0)
对我有用的解决方法:
保留上一个字符串查询
$(document).on('select2:closing','.select2-hidden-accessible',function(){
$(this).data('kmselect2LastSearch',$('.select2-search__field').val());
});
根据最后一个字符串查询获取并选择最后一个项目
$(document).on('select2:open','.select2-hidden-accessible',function(){
if (typeof $(this).data('kmselect2LastSearch')=='undefined') {
return;
}
var prevValue = $(this).data('kmselect2LastSearch');
if ( prevValue != '' ) {
$('.select2-search__field').val(prevValue).trigger('keydown').trigger('input');
}
});