gpt4 book ai didi

javascript - 我如何访问这个 javascript 元素?

转载 作者:行者123 更新时间:2023-11-30 10:05:58 26 4
gpt4 key购买 nike

我有一个 PHP 数组,我想用 Javascript 进行编辑。

我像这样将它从 php 传递到 javascript:

var allPartsList = JSON.parse('<?php echo json_encode($all); ?>');

如果我 console.log(all); 我看到这个:

enter image description here

我最终要做的是找到从 PHP 传递的行,其中两个字段之一,partNumbersupplier 为空,然后添加根据用户提交的值将值返回到数组中。以下值由用户单击的复选框提供。

我有一个循环语句的语法:

$('input[type="checkbox"][id="supplierCheck"]').change(function() {
if(this.checked) {

var supplier = this.dataset.supplier;
var partNumber = this.dataset.partnumber;
var x = this.dataset.x;

for (var i = 0; i < allPartsList.length; i++) {
if (allPartsList[i][0] == x) {
allPartsList[i][2] = supplier; //replace whatever supplier is with the supplier the user has chosen
}
}
console.log(allPartsList);
}
});

但是,我的 for 循环失败了,因为我不知道如何访问 allPartsList 的各种元素。如果我执行 console.log(allPartsList[0] 我明白了

Object {line: 0, supplier: "a", partNumber: "asdf"}

所以我不确定它是否是一个我可以单步执行的数组。我似乎能够访问 allPartsList[0],但我无法访问 [0] 的任何元素,例如 allPartsList[0][0] 。我在这里做错了什么?

最佳答案

您的 allPartsList 是对象的一维数组,字符串键不是数字,因此 allPartsList[i][0] 不正确。

要更新循环中的属性,您可以执行以下操作:

allPartsList[i].supplier = supplier;

或者读取一个属性:

console.log( allPartsList[i].supplier );

我不确定你想用 x 检查做什么,看来你想测试索引,所以在那种情况下,测试 i 喜欢

if (i == x) {            

旁注:您的初始 JSON 解码不是必需的。 PHP 将生成恰好也是有效 JavaScript 的 JSON。所以你可以简化为:

var allPartsList = <?php echo json_encode($all); ?>;

关于javascript - 我如何访问这个 javascript 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29151429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com