0

我正在重构一些代码,在其中获取输入到文本框中的值并使用所述值进行计算。问题不是多次使用 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 循环来遍历每个 id 包含 txt 的输入。我将 this.value 分配给索引为 i 的对象。

所以我想知道如何命名这个对象的属性并赋值,这样我就可以在代码中的其他地方引用对象属性名称,我将这个对象传递给另一个函数。

谢谢。

4

2 回答 2

1

据我了解,您想要:

calcObj[this.id] = this.value;
于 2012-06-21T10:23:58.540 回答
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;
于 2012-06-21T10:24:30.580 回答