我正在尝试根据数据库中的信息更改元素列表的类。我认为简单的方法是通过一个数组。我在php端构建数组如下。
$setClassResult = array();
while($row = mysql_fetch_array( $result ))
{
$setClassResult= array_push_assoc($setClassResult, $row['item_id'], $row['parent']);
}
echo json_encode(array($setClassResult));
break;
给了我......
[{"830":"0","734":"830","733":"830","732":"830","735":"830","737":"830","736":"830","738":"830","739":"830","740":"830","741":"830","742":"830","872":"0","869":"872","868":"872","880":"872","964":"872"}]
解码并更改我使用的元素.....
$.each(data, function(key, val) {
$("#recordsArray_"+key).toggleClass(val);
alert(key+" "+val);
});
警告发生一次0[object,Object]
这是因为我创建数组的方式吗?我注意到的第一件事是JSON周围的[
和]
。
答案 0 :(得分:2)
无需添加额外数组,请尝试:
echo json_encode($setClassResult);
答案 1 :(得分:0)
您的结果是对象格式数组:
[{"830":"0","734":"830","733":"830","732":"830","735":"830","737":"830","736":"830","738":"830","739":"830","740":"830","741":"830","742":"830","872":"0","869":"872","868":"872","880":"872","964":"872"}]
因此,当您进行迭代时,它会首先遍历数组并进行迭代。说关键是0& value是一个object.so,如果你稍后迭代一个对象的值,你就会得到它
或作为soju,如果你不需要将它存储在对象数组中,而是单个对象&迭代一次。