我正在重构一些代码,我抓住输入到文本框中的值并使用所述值进行计算。问题是,而不是多次使用document.getElementByID,我想循环遍历页面上的每个文本框,并将每个值分配给此对象,我将传递给我的计算函数。我还想通过查看输入文本框ID并使用对象属性名称的ID字符串来设置此对象的属性名称。
见下面的代码:
$(document).ready(function() {
var calcObj = new Object();
$("input[id^='txt']").each(function(i, val) {
calcObj[i] = this.value;
});
$.each(calcObj, function(i, val) {
// alert(val);
});
});
正如您在文档准备就绪时所看到的,创建了对象。有一个jquery .each循环来遍历包含txt的id的每个输入。我将this.value赋给index为i的对象。
所以我想知道如何命名这个对象的属性并赋值,这样我就可以在代码中的其他位置引用对象属性名称,并将该对象传递给另一个函数。
感谢。
答案 0 :(得分:1)
据我了解,您想要:
calcObj[this.id] = this.value;
答案 1 :(得分:1)
我并不完全得到你所要求的东西,因为看起来你已经在做我认为你在问的事了。
现在,你正在做:
calcObj[i] = this.value;
这与分配它没有区别:
calcObj['foo'] = this.value;
// and later we can access that via
alert( calcObj.foo ); // or calcObj['foo']
你也可以动态,比如:
calcObj[this.id] = this.value;