bpr*_*mas 5 search jquery plugins jquery-select2
我希望当我单击菜单之外的位置时,我的 select2 元素不会清除搜索的术语。我搜索了很多这个功能,似乎有一天可以实现,但是在4.0版本中它不再起作用了?我也尝试过实现这个答案,但似乎不起作用。
目前我的代码如下:
$(document).ready(function () {
function displayCurrentValue(selectedObject, currentSearchTerm) {
return currentSearchTerm;
}
$("#reference").select2({
nextSearchTerm: displayCurrentValue
});
$("#reference").select2({
width: "100%",
language: "pt-BR",
ajax: {
//omitted
}
});
});
Run Code Online (Sandbox Code Playgroud)
无论我尝试什么,当前的行为都是:
期望的行为是:
对我有用的解决方法:
保留最后一个字符串查询
$(document).on('select2:closing','.select2-hidden-accessible',function(){
$(this).data('kmselect2LastSearch',$('.select2-search__field').val());
});
Run Code Online (Sandbox Code Playgroud)
根据最后一个字符串查询获取并选择最后一个项目
$(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');
}
});
Run Code Online (Sandbox Code Playgroud)