如何将对象添加到现有的javascript对象中? 这是现有javascript对象的示例
var dataObj = {
TITLE : adtitle,
DESC : addesc,
PRICE : price,
DISCOUNT : discount,
CATID : maincatid,
STATUS : adstatus,
QUANTITY : quantity
};
现在我有了这个文件对象,我想将它添加到上面的那个对象。
File { name: "paper.jpg", lastModified: 1445433597723, lastModifiedDate: Date 2015-10-21T13:19:57.723Z, size: 54900, type: "image/jpeg" }
此文件对象是文件上载输入类型
的值var image1 = $('#Image1').prop("files")[0];
var image2 = $('#Image2').prop("files")[0];
然后我还需要触发$.post
$.post("<?php echo Yii::app()->createUrl('/post'); ?>", { jsonData: postdata}, function(response){
console.log(response);
});
当我点击按钮
时,会触发上述所有脚本 $('#postit').click(function(e){
//all the scripts from above
});
答案 0 :(得分:3)
要将添加到现有对象,您只需在dataObj
上定义一个新属性:
var dataObj = {
...
};
// other work
dataObj.FILE = $('#Image1').prop("files")[0];
或者,如果您可以在定义dataObj
时执行此操作,则应该这样做:
var dataObj = {
TITLE : adtitle,
DESC : addesc,
PRICE : price,
DISCOUNT : discount,
CATID : maincatid,
STATUS : adstatus,
QUANTITY : quantity,
FILE : $('#Image1').prop("files")[0]
};
如果您有多个File
个对象,那么您应该将它们存储为dataObj
中的数组:
dataObj.FILES = $('#Image1').prop("files");
或者您可能一次只能与他们合作,并且需要将它们逐个推送到dataObj
上的数组中:
var dataObj = {
TITLE : adtitle,
DESC : addesc,
PRICE : price,
DISCOUNT : discount,
CATID : maincatid,
STATUS : adstatus,
QUANTITY : quantity,
FILES : []
};
// Populate the array
$('#Image1').prop("files").forEach(function(file) {
dataObj.FILES.push(file);
});
答案 1 :(得分:1)
不太确定是否能回答你的问题,但最简单的答案是:
dataObj.FILE = image1;