使用循环和输入文本框创建对象属性名称
Create object property names using loop and input textboxes
我正在重构一些代码,其中我抓取输入到文本框中的值并使用所述值进行计算。问题在于,与其多次使用 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 的对象。
所以我想介绍一下如何命名这个对象的属性并赋值,这样我就可以在代码中的其他地方引用对象属性名称,在那里我把这个对象传递给另一个函数。
谢谢。
据我了解,你想要:
calcObj[this.id] = this.value;
我不完全明白你的要求,因为看起来你已经在做我认为你在问的事情。
现在,您正在执行以下操作:
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;
相关文章:
- 对象属性不是在工厂成员函数内部创建的
- 创建新的javascript数组,从对象属性中提取数据
- JavaScript:如何从变量中创建对象属性名称和值
- 创建一个生成器来迭代对象属性排列
- 在创建具有属性的JavaScript对象时,为什么需要此代码
- 在 JavaScript 中创建对象和操作属性
- 使用循环和输入文本框创建对象属性名称
- 如何创建数组并推送对象属性
- 如何在 JavaScript 中创建具有对象属性的对象类
- 无法在严格模式下创建对象属性
- 基于对象属性创建数组
- 在默认情况下将可枚举设置为 false 的 JS 中创建对象属性的其他方法是什么
- 如何从子对象属性创建新数组
- 从 ES6 中内联的属性子集创建对象
- 如何在 javascript 中使用 Onclick 属性动态创建对象
- 如何循环通过对象属性'由Object.defineProperty创建
- 动态更新/创建对象属性
- 使用现有对象属性创建对象属性的Javascript
- 为什么这个JavaScript没有动态创建对象属性
- 从变量内容创建对象属性