【问题标题】:Access id of ajaxForm elementajaxForm 元素的访问 id
【发布时间】:2014-06-29 16:33:30
【问题描述】:

我需要使用class="ajax-upload-image" 访问form 元素的id。我有几个forms,有相同的class,这就是为什么我需要访问id,但似乎我无法使用$(this) 获得正确的值。我在beforeSenduploadProgresscomplete 中都需要这个值。

有没有办法保存自定义变量,或者通过发送的data 提取它?我目前的“解决方案”是使用上次访问的 id 存储一个全局变量,但这几乎不是一个解决方案,因为可以在前一个完成上传之前使用表单,这意味着全局变量的变化。

到目前为止我的剥离代码(没有全局变量):

$('.ajax-upload-image').ajaxForm({
    delegation: true,
    dataType: 'json',

    beforeSend: function() {
        // Some code
    },

    uploadProgress: function(event, position, total, percentComplete) {
        // Some code
    },

    complete: function(data) {
        // Some code
    }
});

非常感谢任何帮助,因为我似乎在这一点上非常卡住。

【问题讨论】:

  • 为什么全局变量不起作用?即使它们同时发送也有效! var that=this;
  • @AminJafari 我需要动态数量,没有限制。全局变量对此不起作用。

标签: jquery upload progress-bar jquery-forms-plugin identify


【解决方案1】:

当您调用ajaxSubmit() 时,您可以传递context: 选项。所有的回调都将绑定到这个上下文:

$(".ajax-upload-image").submit(function() {
    $(this).ajaxSubmit({
        context: this,
        ...
    });
});

然后,您将能够在回调中使用 $(this)this.id 来引用提交的表单。

【讨论】:

    猜你喜欢
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 2010-09-19
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多