javascript - 无法从每个语句中获取正确的值

标签 javascript jquery

我有一个对象(名为 allUserInfo ,如下所示:

Object
{
available_client_ids: Array[2]
0: "demo"
1: "4532t78"
available_client_names: Array[2]
0: "Demo"
1: "Bobs Bakery"
email: "jmr@example.com
}

我需要获取 available_client_idsavailable_client_names,但总是返回未定义或更糟的结果。我正在尝试这样的事情:

$.each(allUserInfo, function(index, value) {
$('.clients_available3').append("<option>" + index.available_client_names + "</option>");
   });

这给了我太多未定义的东西附加到选择(clients_available3)。它可能需要类似于:

$.each(allUserInfo.available_client_names, function(index, value) {
$('.clients_available3').append("<option>" + index.available_client_names + "</option>");
   });

但这也不起作用。

编辑

如果我这样做,

   $.each(allUserInfo.available_client_names, function(index, value) {
                $('.clients_available3').append("<option>" + value + " </option>");
});

这有效并为我提供了客户端名称,但我没有办法获取 id。我希望我可以做这样的事情,这样我就可以同时得到它们,但这行不通:

 $.each(allUserInfo, function(index, value) {
                $('.clients_available3').append("<option value="+available_client_ids+">" + available_client_names.value + " </option>");
});

最佳答案

你在each()循环中使用了错误的东西......

function(index, value) { }

index 值是您当前在对象中迭代的KEY。在您的情况下,它将是“available_clients_ids”、“available_client_names”和“email”。

value 参数将是这些键的值,例如包含“demo”和“4532t78”的数组

既然你已经得到了本质上是一个嵌套数组(一个具有多个属性的对象,每个属性都包含一个数组),你需要更多类似这样的东西:

$.each(allUserInfo.available_client_names, function(i, val) {
   ...
});
$.each(allUserInfo.available_client_ids, function(i, val) {
   ...
});

关于javascript - 无法从每个语句中获取正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29806040/

相关文章:

javascript - 如何在 JS 中创建表格

javascript - JQuery 和 Cookie : How to remove them when user leaves the page or exit window/tab

javascript "header"文件存储一些数据

javascript - 从 php 到 javascript 访问数据

php - 使用 ajax 的 Codeigniter 分页

javascript - Ng-show 无论如何都会显示 div

javascript - JavaScript 中 Math.max 与三元运算符的速度和风格

javascript - E11000重复键错误集合: Inserting document in mongodb

JavaScript IF/ELSE 调用另一个 JS 脚本?

javascript - 错误提示函数未定义