我有一个对象(名为 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_ids
和 available_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/