如何将多个对象添加到一个对象中?我有一个选择框更改事件,它具有如下处理程序:
this.selectBoxChanges = {};
onSelect: function(event){
var p = $(event.currentTarget).attr('id');
var obj = {};
obj[p] = $(event.currentTarget).val();
this.selectBoxChanges = obj;
},
[我想做的是将所有对象存储在名为selectBoxChanges
的对象中,以便在选择确认按钮后,所有对象都将传递到主干模型。像这样:
onConfirm: function(){
this.model.set(this.selectBoxChanges);
}
您将属性分配给对象。属性可以是变量,函数,另一个对象,另一个属性,等等。
var selectBoxChanges = {
"values" : {
"oldValue" : oldVal,
"newValue" : newVal
},
"anotherProperty": someVariable,
"functionProperty": function () {
// do stuff
}
};
哈,您在我提交此答案之前先在下面发布了答案。无论如何我都会离开它:)
原始帖子->
您是要在对象中存储多个表单元素,还是要在对象中的同一列表框中存储多个值?
您可以将属性添加到selectBoxChanges,方法与当前将其添加到obj对象的方法相同:
selectBoxChange[this.id] = $(this).val();
但是,如果您尝试对同一对象重复执行此操作,则您将需要能够使用除主干能够使用的元素ID之外的其他东西。
如果要附加用户从下拉菜单中选择的所有不同项目,则可以存储一系列项目:
if(selectBoxChange[this.id]) {
selectBoxChange[this.id].push($(this).val());
} else {
selectBoxChange[this.id] = [$(this).val()];
}
我想答案很简单,直到我发布了我所要做的全部线程之后,才看到它]
this.selectBoxChanges = {};
onSelect: function(event){
var p = $(event.currentTarget).attr('id');
this.selectBoxChanges[p] = $(event.currentTarget).val();
},