所有我被困在这个位置,不知道如何解决它:)我从一个网页获得许多不同的属性-我想将它们存储在对象中,稍后发送到PHP/Mysql -我的问题是,我不知道有多少对象是由用户创建的,这些对象将数据放到页面中,所以我需要创建对象比方说: object1{id,name,date...},object2,object3,单击页面中的发送按钮-我知道一次不能超过150个对象+存储在对象中的数据。因此,我尝试在读取输入字段长度的同时动态创建对象-到目前为止,这是可行的。现在,我希望在使用jquery遍历页面时用数据填充创建的对象,并搜索具有需要存储在Object1、Object2等中的id和数据的类。我的问题是,我不知道如何将数据保存在循环中的对象中
var objekt1 = {};
var objekt2 = {};
// handle click and add class
$("#but1").on("click", function(){
for (x=1;x<3; x++ ){
var key = "objekt"+x;
alert(key);
var value = x;
key.id=x;
key.name="name"+x;
}
/*objekt1.id='10';
objekt1.name='obj1';
objekt2.id='20';
objekt2.name='obj2';*/
$("#output1").html(objekt1.id+ ' ' + objekt1.name);
$("#output2").html(objekt2.id+ ' ' + objekt2.name);
}) //opn click
#but1 {
background: #0084ff;
border: 1px solid white;
border-radius: 5px;
padding: 8px 14px;
font-size: 15px;
color: #fff;
}
#but1:hover{
cursor: pointer;}
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="but1">try me</div>
<div id="output1">
</div>
<div id="output2">
</div>
我不知道如何创建的问题是:我想实现: objekt1.id=1;但不知道如何创建它:这根本不起作用:'objekt'+x=x;而且键值方法也不能像预期的那样工作:(我做错了什么?
我知道这种类型的问题也有数组,但实际上多维数组在所有其他语言中都可以工作,在这些语言中,我可以拥有键值对,而不仅仅是数字索引... :(
希望你能明白我的意思。今天真的很晚了。
感谢所有的人!为了您的时间和耐心:)
发布于 2019-04-25 06:31:16
要创建objekt1
和objekt2
作为全局变量,请使用window["variable_name"]
for (x=1; x < 3; x++){
window["objekt" + x] = {};
window["objekt" + x].name = "name" + x;
window["objekt" + x].id = x * 10;
}
console.log(objekt1)
console.log(objekt2)
或者动态创建自己的父对象和子对象
var data = {};
for (x=1; x < 3; x++){
data["objekt" + x] = {};
data["objekt" + x].name = "name" + x;
data["objekt" + x].id = x * 10;
}
console.log(data.objekt1)
console.log(data.objekt2)
发布于 2019-04-25 06:20:12
我不太清楚您在问什么,但听起来您似乎是在尝试在for循环中动态创建对象。下面是一个例子,演示了如何遍历某个对象并创建一个对象,然后将其存储在一个数组中。如果我的理解是错误的,请告诉我。
// Option 1
const objects = [];
for (let x = 1; x < 3; x++ ){
const obj = {
id: x,
name: `something ${x}`
}
objects.push(obj);
}
console.log(objects);
// Option 2
const obj2 = {};
for (let x = 1; x < 3; x++) {
obj2[`Item_${x}`] = { id: x };
}
console.log(obj2);
https://stackoverflow.com/questions/55839243
复制相似问题