清除搜索词,并在选择任何项目后重新加载 Select2 输入的所有项目
Clear search term and reload all items of Select2 input after selecting any item
我的页面中有一个select2
输入文本字段,我正在其中动态加载输入字段的焦点事件的项目。
当我输入一些搜索文本时,让我们说"vai",然后结果项加载为"vaibhav1","vaibhav2","vaibhav3","vaibhav4",重点是第一项。如果我按回车键,它会被选中。
现在我想要的是清除搜索词"vai",并且应该刷新项目列表,显示包含所有剩余记录,包括上次搜索的项目。下面是我在 select2 输入字段的 $(document).ready(function)
下的 JavaScript 代码。
function format(item) { return item.name; };
// select2 multiple select feature for Impact Area initialization
var test = $('#impactArea');
$(test).select2({
formatSelection: format,
formatResult: format ,
multiple: true,
width: "612px",
height: "50px",
closeOnSelect : false,
maximumSelectionSize : 20,
ajax: {
type: "GET",
url: "/progressManagement/testingIssue/impactAreaList",
dataType: 'json',
data: function (term) {
return { q: term };
},
results: function (data) {
return {results: data};
}
} ,
initSelection: function(element, callback) {
var rangeList=$('#impactArea').val();
var id=$(element).val();
if (id!=="") {
$.ajax("/progressManagement/testingIssue/selectedImpactArea", {
data: { rangeList: rangeList },
dataType: "json"
}).done(function(data) {
callback(data);
});
}
}
});
我尝试在select2js文件中搜索以找到可用于此目的的功能或标志,如果你们对此有任何想法,请帮助我。如果我不清楚具体说明我的要求或方法,请告诉我。提前致谢:)
不知何故,我找到了解决方法,每当输入字段值更改时,我都使用 $(test).select2("search", "");
命令清除了搜索字符串。
$(test).change(function() {
$(test).select2("search", "");
});
在这里,search
是select2.js
文件中使用的搜索词变量,每次用户选择或取消选择列表中的项目时,我都会将其设置为空白字符串。它很好地满足了我的要求。
如果有人找到更好的解决方案,请告诉我,谢谢。
在 v4 中,我能够使用以下代码清除搜索字段。
$(test).change(function() {
var searchfield = $(test).parent().find('.select2-search__field');
searchfield.val("");
})
除了@Enoch答案之外,我还必须在将空值设置为搜索字段以重新加载选项后触发"input"事件。
$(test).parent().find('input.select2-search__field')?.val('').trigger('input');
相关文章:
- Netsuite Suitelet:在不达到治理限制的情况下,遍历事务行项目的列表加载和提交记录
- 无法加载Ace.js编辑器模式和主题(命名空间项目&AMD require.js&grunt
- 如何在页面加载后禁用下拉列表框项目的选择
- 在Knockout JS中搜索从DB加载数据的项目
- HTML/JS github页面项目没有't在使用firefox运行时加载图像或声音
- 如何使用 javascript 从 Web 服务重新加载项目集合
- 没有在django项目中加载CSS文件
- jquery ias插件不适用于我的网站,加载更多项目不起作用
- JQuery Masonry.Ajax图标和“;加载新项目”;绳子放错地方了
- 使用jquery将html文件加载到html中,用于离线/本地项目
- 在新表单上使用JavaScript创建多个共享点项目,但将下一页加载延迟到全部创建
- 限制在角度中过滤是否会阻止在 ng 重复中加载其他项目
- jquery未加载.我需要帮助将jquery添加到我的项目中.它没有加载javascript文件
- 根据组合框中选定的默认项目加载排列,并在更改选定项目时重新加载(淘汰)
- jQuery;Ajax-在页面加载时将项目加载到选择输入
- 根据单击的项目加载 JavaScript
- PHP AJAX分页将项目加载到多个容器中
- 如何将项目加载到无限循环中
- 为d3项目加载csv文件时未定义的值
- 聚合物项目加载缓慢