我使用以下JavaScript来使用select2 https://select2.github.io/
填充下拉列表它工作正常,并在第一次加载页面时填充列表。 从那时起,即使添加数据也不刷新列表,因为它只调用一次AJAX。即使我重新加载页面,下拉列表也不会刷新,并且不会触发AJAX调用(除非我关闭并重新打开浏览器,然后激活AJAX调用)
每次下拉打开时,有没有办法进行ajax调用。我尝试了.on(" select2-open")选项,但没有运气。
抱歉JavaScript不是我所知道的。
$("#Location").select2({
placeholder: "Select a known location", // Placeholder text
allowClear: true, //Allows deselection of chosen address
ajax: {
url: '/AlertInterface/NewAlertLocations', // Where we want the ajax to call
dataType: 'json', // The datatype we are expecting to be returned
type: "GET", //Just a get method
//Data: allows us to pass a parameter to the controller
data: function (query) {
console.log(query)
return { search: query.term }
},
//processes the results from the JSON method and gives us the select list
processResults: function (data) {
console.log(data)
return {
results: JSON.parse(data)
};
}
}
});
修改
我确实尝试使用
$("#Location").on("select2:open", function () { $("#Location").select2(); })
但这没有任何帮助。 : - (
答案 0 :(得分:0)
您的代码中存在语法错误。 请检查以下代码,
$("#Location").select2({
placeholder: "Select a known location", // Placeholder text
allowClear: true, //Allows deselection of chosen address
ajax: {
url: '/AlertInterface/NewAlertLocations', // Where we want the ajax to call
dataType: 'json', // The datatype we are expecting to be returned
type: "GET", //Just a get method
//Data: allows us to pass a parameter to the controller
data: function (query) {
console.log(query)
return { search: query.term }
},
//processes the results from the JSON method and gives us the select list
processResults: function (data) {
console.log(data)
return {
results: JSON.parse(data)
};
}
}
});