如何将多个对象添加到一个对象中?我有一个selectbox change事件,它有一个像这样的处理程序:
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);
}
答案 0 :(得分:0)
您可以为对象指定属性。属性可以是变量,函数,另一个对象,另一个属性等。
var selectBoxChanges = {
"values" : {
"oldValue" : oldVal,
"newValue" : newVal
},
"anotherProperty": someVariable,
"functionProperty": function () {
// do stuff
}
};
答案 1 :(得分:0)
我想答案很简单,直到我发布了所有我必须做的线程才看到它
this.selectBoxChanges = {};
onSelect: function(event){
var p = $(event.currentTarget).attr('id');
this.selectBoxChanges[p] = $(event.currentTarget).val();
},
答案 2 :(得分:0)
原帖 - >
您是在尝试在对象中存储多个表单元素,还是在尝试从对象中的同一个列表框中存储多个值?
你可以像selectBoxChanges一样添加属性,就像你当前将它们添加到你的obj对象一样:
selectBoxChange[this.id] = $(this).val();
但是,如果您尝试重复对同一个对象执行此操作,则需要能够使用除了可以由主干使用的元素ID之外的其他内容。
如果你想追加用户从下拉列表中选择的所有不同项目,你可以存储一系列项目:
if(selectBoxChange[this.id]) {
selectBoxChange[this.id].push($(this).val());
} else {
selectBoxChange[this.id] = [$(this).val()];
}