首页 > 解决方案 > Jquery:如何创建具有动态名称的普通对象?

问题描述

我在文档中发现您可以像这样创建一个普通对象:

var y = {
  name: "Pete",
  age: 15
};

但是,我想为它动态添加名称和值,例如,如果我们有类似的东西:

<input type="text" name="$dynamicName" id="myinput">

我可以创建这样的对象:

var y = {
  name: "Pete",
  $('#myinput).attr('name'): $('#myinput).val(),
};

但这会引发错误:

语法错误:缺少:属性 id 之后

如何$('#myinput).attr('name')用作普通对象的名称?

标签: javascriptjquery

解决方案


我认为这就是您想要做的,它将age项目添加到数组中,然后将其值设置为 textbox 中的任何内容onclick

var y = {
  name: "Pete"  
 };
function go(){
 y[$('#myinput').attr("name")] = $('#myinput').val();
console.log(y)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text"name="age" id="myinput">
<input type="button"  onclick="go(); return false;">


推荐阅读