我使用jQuery表单插件来做一些Ajax处理,它工作正常,但现在我已经卡住了。 我有一段代码,我需要提取一个值(app),以便我可以将它传递给另一个函数。
$(document).ajaxComplete(function () {
$(".updateUserRole").ajaxForm(function () {
app = $(".updateUserRole").find('input').fieldValue()[1];
alert(JSON.stringify(app));
});
});
这个块工作正常;我在app变量中得到了该字段的值,但是在页面上出现了几次updateUserRole表单,并且此代码始终返回第一个的值。
我真正想要的是这样的东西;
$(document).ajaxComplete(function () {
$(".updateUserRole").ajaxForm(function () {
app = $(this).find('input').fieldValue()[1];
alert(JSON.stringify(app));
});
});
我认为应该只返回当前事件的值;但它没有,这个值是未定义的。
我显然误解了jQuery如何在这里工作,一些乐于助人的人能帮助我吗?
答案 0 :(得分:0)
我认为我最好完整地回答我自己的问题,我的工作版本是;
$(document).ajaxComplete(function () {
$(".updateUserRole").ajaxForm(function () {
app = getQueryVariable(this.data, 'applicationId');
alert(JSON.stringify(app));
});
});
this.data包含我需要的信息,但返回一个查询字符串,所以我使用了来自CSS-Tricks的稍微修改过的getQueryVariable版本来提取变量" applicationId"我需要的。
我确定有更好的方法可以做到这一点,并且可以在jQuery中完全完成它,但这是有效的,这就是我需要的。如果有人能提供更好的版本,我很乐意看到它。