在select2上禁用ajax缓存的正确方法是什么?

时间:2017-06-05 15:22:15

标签: javascript jquery html ajax jquery-select2

我使用select2将远程数据加载到html选择

问题在于,如果用户选择了一个选项 - >清除输入 - >服务器中的数据更改 - >用户再次搜索数据。如果我要求选​​择数据,则返回旧的(当前选择的)值。

示例:

//User search for an option and selects it 
$('#someSelect').select2('data').Limit 
//Here the limit is 0 
//Server data changes on server. Now limit is 10 
//User searchs again for the same option and selects it 
$('#someSelect').select2('data').Limit 
//The value returned in the line above is 0 again 
//Somehow the data previously selected is cached 
//and returned instead of the refreshed data 

设置缓存:false不做任何事情。

2 个答案:

答案 0 :(得分:1)

几小时后我找到了解决方案。

在事件上select2:取消选择我必须清除select的所有选项,因为插件已将选定的选项添加到DOM中。

$('#someSelect').on('select2:unselect',function(){
    $('#someSelect').html(null);
});

答案 1 :(得分:1)

您还可以reset select2下拉列表清除选项..

$('#someSelect').select2("val", "All");