我希望创建一个从多个输入创建的对象数组。每次用户按下Add to Array
按钮时,都应该向数组中添加一个新对象。但是,当我将数组记录到控制台时,它显示循环引用。
我的测试代码如下:
var selected = [];
var name = $(".name").val();
var id = $(".id").val();
var data = $(".data").val();
var data = {
name : $(".name").val(),
id : $(".id").val(),
data: $(".data").val()
}
$("button").click(function(){
selected.push(data);
console.log(selected);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<input type="text" class="name" value='Some name' />
<input type="text" class="data" value='some data' />
<input type="text" class="id" value='12' />
<p id="demo"></p>
<button>Add to array</button>
我想要一个包含我添加的所有值的普通数组,以便以后使用。我不确定循环引用是不是我应该得到的结果。
这是一种维护对象集合的错误方式吗?这些对象将稍后发布到服务器上。
发布于 2018-08-15 07:56:45
您只需在单击时在函数中声明var数据,如下例所示:
var selected = [];
$("button").click(function() {
var data = {
name: $(".name").val(),
id: $(".id").val(),
data: $(".data").val()
}
selected.push(data);
console.log(selected);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<input type="text" class="name" value='Some name' />
<input type="text" class="data" value='some data' />
<input type="text" class="id" value='12' />
<p id="demo"></p>
<button>Add to array</button>
https://stackoverflow.com/questions/51851161
复制相似问题