【问题标题】:How to add more data into an exisitng data using jquery?如何使用 jquery 将更多数据添加到现有数据中?
【发布时间】:2014-12-29 12:20:07
【问题描述】:

如何使用 jquery 将更多数据添加到现有数据中 - 或者只是简单的 javascript?

fd = {
    name : file_data.name,
    size : file_data.size
};

// And others.
$("form").find('input[type=hidden]').each(function(){
    $(fd).data(this.name, this.value);
});

我得到了这个奇怪的结果,

Array
(
    [name] => Dangerous Man.mp3
    [size] => 11912748
    [jQuery1910560199169432603] => Array
        (
            [toJSON] => undefined
            [data] => Array
                (
                    [article_id] => 
                    [category_id] => 15
                    [user_id] => 1
                    [max_upload_filesize] => 3
                    [method] => upload
                    [required[category_id] => Category ID
                )

        )

)

但我追求这个结果,

Array
(
    [name] => Dangerous Man.mp3
    [size] => 11912748
    [article_id] => 1
    [category_id] => 15
    [user_id] => 1
    [max_upload_filesize] => 3
    [method] => upload
    [required[category_id] => Category ID

)

有什么想法吗?

【问题讨论】:

    标签: javascript jquery jquery-1.9 jquery-data


    【解决方案1】:

    只需向对象添加属性

    $("form").find('input[type=hidden]').each(function(){
        fd[this.name] = this.value;
    });
    

    【讨论】:

      【解决方案2】:

      您只能将 Element、NodeList、选择器或函数传递给 $ 函数,而不是对象。 你应该这样做:

      fb[ this.name ] = this.value;
      

      而不是

      $(fd).data(this.name, this.value);
      

      【讨论】:

      • 谢谢,但它会删除我现有的 fd = { name : file_data.name, size : file_data.size }; 数据
      • 这是因为隐藏的输入字段名称为“名称”和“大小”。如果您可以在迭代后移动 fd 对象的 name 和 size 属性的分配,那将起作用。
      猜你喜欢
      • 2013-10-26
      • 2022-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 2015-08-01
      • 2011-05-31
      相关资源
      最近更新 更多