jquery ajax在加载而不是模糊时被触发
我有一个名为applyToDetailRows的函数,我在加载时调用它,以及当我的页面的输入部分通过ajax重新绘制时。 此函数将一堆事件附加到绘制的输入字段。 字段上的一个事件是模糊,它触发ajax调用以获取学生信息。 问题是每次为每个字段加载页面时 ,模糊ajax触发器都会触发,而不是在模糊时触发。 只有在applyToDetailRows中定义了函数时才会发生这种情况。 如果我从applyToDetailRows中取出它,它可以正常工作。
需要注意的一点是,我也以类似的方式在applyToDetailRows中定义了自动完成,并且它工作正常。 但不是这个。
function applyToDetailRows() { $(":input[data-getstudent]").each(function() { $(this).on('blur', function () { var elem = this; $.ajax({ url: $(elem).attr('data-getstudent'), dataType: "json", data: { studentNumber: $(elem).val() }, success: function (result) { } }); }); }); } /* some other definitions */ //applyToDetailRows called applyToDetailRows();
您更愿意使用事件委派而不是在每个请求之后重新应用该函数,因为您可能错误地绑定它或不止一次。
$(document).on("blur", ":input[data-getstudent]", function(){ /* AJAX */ });
您可以使用DOM树中比它更接近的所有input
元素的公共父项替换document
。
- MVC API控制器的复杂对象没有从jquery ajax调用中填充
- javascript / jquery模式弹出对话框MVC 4 /渲染局部视图
- 使用Ajax在.NET MVC4中加载部分视图
- 在具有大量数据的mvc4中的ajax发布期间,系统抛出System.ArgumentExceptionexception
- 如何在MVC4 RazorView中实现Dropdownlist列表图像选择以及文本框
- jQuery Mobile绑定事件
- jQuery Ajax无法调用MVC 4 Controller方法
- 在asp.net mvc 4中调用jquery ajax之后的服务器端重定向
- MVC4和IClientValidatable – 自动AJAX调用服务器端validation