从jQuery Form Plugin中提取输入字段的值

时间:2014-10-20 15:42:58

标签: jquery jquery-plugins

我使用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如何在这里工作,一些乐于助人的人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

我认为我最好完整地回答我自己的问题,我的工作版本是;

$(document).ajaxComplete(function () {

     $(".updateUserRole").ajaxForm(function () {
        app = getQueryVariable(this.data, 'applicationId');
        alert(JSON.stringify(app));

    });
});

this.data包含我需要的信息,但返回一个查询字符串,所以我使用了来自CSS-Tricks的稍微修改过的getQueryVariable版本来提取变量" applicationId"我需要的。

我确定有更好的方法可以做到这一点,并且可以在jQuery中完全完成它,但这是有效的,这就是我需要的。如果有人能提供更好的版本,我很乐意看到它。