以前我用onchange事件来调用javascript方法(在这个方法中使用AJAX调用将所选选项传递给服务器)。但这会导致多个AJAX调用服务器上的多个选项选择。有没有办法在选择框中进行多项选择后调用javascript方法,这样我就可以防止对服务器进行多次AJAX调用。
答案 0 :(得分:0)
这里它将在进程中中止ajax请求并且只考虑最后一个请求..
$(document).ready(function(){
$("#searchInput").onchange(function(){
ajaxSelect( $("#searchInput").val() );
});
});
var request;
function ajaxSelect(selectedKey) {
/* if request is in-process, kill it */
if(request) {
request.abort();
};
request = $.ajax({
type: "get",
url: "http://example.com/ajaxRequestHandler/",
data: "action=selectmulti&selectedKey=" + selectedKey
}).done(function() {
/* process response */
/* response received, reset variable */
request = null;
});
}
答案 1 :(得分:0)
一种方法是明确定义以下事件。
在选择框中进行多项选择后
如果符合您的需要,您可以考虑在选择框中使用onblur或onmouseout等其他事件来发送ajax请求。