我需要将一个php对象数组转换成一个javascript变量,以便在“easyautocomplete”插件中使用。下面是我要实现的目标的概要:
从数据库返回的php对象的var_dump:
array(223) {
[0]=>
object(stdClass)
["id"]=>
string(2) "10"
["no"]=>
string(3) "CN1"
["name"]=>
string(10) "Cyclops"
}
[1]=>
object(stdClass)
["id"]=>
string(2) "11"
["no"]=>
string(3) "CN2"
["name"]=>
string(11) "Professor X"
}
..
..
所需的javascript格式:
var characters = {
data: [
{"name": "Cyclops", "id": 1},
{"name": "Professor X", "id": 2}
],
getValue: "name",
list: {
onSelectItemEvent: function() {
var value = $("#character1").getSelectedItemData().id;
$("#character").val(value).trigger("change");
}
}
};
我的尝试:
var characters = <?php echo json_encode(['data' => $chars]); ?>;
结果:
var characters = {
"data": [
{"id":"10","no":"CN1","name":"Cyclops"},
{"id":"11","no":"CN2","name":"Professor X"}
]};
似乎我已经得到了我需要的结果,但我不知道如何从开始附加剩余的属性
getValue : "name" list: { .....
到字符变量。
另外,结果变量在“data”属性周围似乎有双引号,但我不确定这是否会导致问题。
链接到我尝试实现的示例:
Link