动态地为对象分配属性名
Dynamically assign property name to object
基本上在下面的代码中有一个for循环,它使10个元素,当我点击按钮时,它控制台。记录以下内容:
当前console.log:
Object {objectProperty: "0"}
Object {objectProperty: "1"}
Object {objectProperty: "2"}
Object {objectProperty: "3"}
Object {objectProperty: "4"}
Object {objectProperty: "5"}
Object {objectProperty: "6"}
Object {objectProperty: "7"}
Object {objectProperty: "8"}
Object {objectProperty: "9"}
然而,我希望对象属性名是<span>
的值,所以当我循环遍历元素时,它将分配一个新的属性名,该属性名将与<span>
的值相同。
所以console.log应该看起来像这样,如果它是工作的:
Object {0: "0"}
Object {1: "1"}
Object {2: "2"}
Object {3: "3"}
Object {4: "4"}
Object {5: "5"}
Object {6: "6"}
Object {7: "7"}
Object {8: "8"}
Object {9: "9"}
目前为止我有什么:
$(document).on('change', "select[id*='checkBox']", function(e) {
// Disable or Enable input fields
if (($("option:selected", this).text() === "No")) {
$(this).next().next().attr('readonly', true).addClass('input-disabled');
} else {
$(this).next().next().attr('readonly', false).removeClass('input-disabled');
}
});
$(document).on('click', "#generateButton", function(e) {
// Define associative arrays that will compose licence object
var Signed = new Object();
var NotSigned = new Object();
var Licence = new Object();
// On generate button click, get all values to dynamically create signed and unsigned values
$('.list-group-item').each(function(key, value)
{
var objectProperty = $(this)[0].children[1].innerHTML;
Signed.objectProperty = $(this)[0].children[2].value;
console.log(Signed);
});
});
// Append list-groups on page so that configuration elements can be appended
$("#optionalFieldsRow").children().find('.panel-body').append("<div class='row'><div class='col-sm-6 left'><ul class='list-group'></ul></div><div class='col-sm-6 right'><ul class='list-group'></ul></div></div>");
// Loop through configuration items and display element on page
for (var i = 0; i < 10; i++) {
$("#optionalFieldsRow").children().find('.left').find('.list-group').append("<li class='list-group-item'><select id='checkBox" + i + "' class='optionalFieldsRowCheckBox' name='checkBox" + i + "'><option>Yes</option><option>No</option></select><span class='optionalLabel'>" + i + "</span><input id='input" + i + "' type='text' value='" + i + "' name='input" + i + "'></li>");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<ul class="list-group">
<!-- /.panel-body -->
<div class="pull-right">
<button name="Save configuration button" id="generateButton" class="btn btn-primary">Generate .properties</button>
<!--<button name="Save configuration button" onclick="GenerateLicence(this);" id="generateButton" class="btn btn-primary">Generate .properties</button>-->
</div>
</ul>
</div>
<!-- /.col-lg-12 -->
</div>
<div id="optionalFieldsRow" class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<!-- /.panel-heading -->
<div class="panel-body">
<!-- Optional fields for licences -->
<div class="row">
<!-- /.row -->
</div>
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-8 -->
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper -->
</div>
var obj = {};
obj["<new property name>"] = <new property value>;
相关文章:
- 比较元素值并将属性分配给较大的
- 将一个元素的所有属性分配给另一个元素
- 如何将可拖动属性分配给所有实例
- 未调用通过 onclick 属性分配的处理程序
- 在IE中收到错误,例如“参数数量错误或属性分配无效”
- node.js process.env:将 process.env 属性分配给字符串类型中的未定义结果
- 打字稿对象解构会导致“预期属性分配”
- js 对象的属性分配上的 lint 错误
- 车把循环为属性分配值
- 将新属性分配给内置类型实际上是非法的
- 使用decorator将属性分配给非原型
- 为什么我的属性分配不正确
- 控制台中的不确定性主干集合属性分配
- 将新属性分配给对象's使用JavaScript的属性From Variable
- 使用jq将子字典的属性分配给父字典
- Javascript OOP类-将属性分配给函数
- JavaScript中有效的属性名、属性分配和访问
- 这是将属性分配给对象的有效方法吗?
- 谷歌地图无法为类属性分配导航器位置
- 可以通过javascript设置鼠标悬停的html属性,但不能在Firefox中为鼠标悬停属性分配函数