我尝试将php变量传递给jquery,我尝试使用
但是,当我尝试使用它时,它并不成功
数据源:
插入
dataSource: [
{ childName: "Child1", childId: 1, parentId: 1 },
{ childName: "Child2", childId: 2, parentId: 2 },
{ childName: "Child3", childId: 3, parentId: 1 },
{ childName: "Child4", childId: 4, parentId: 2 }
]
它不能显示第二个选择,但我发现$ data与原始数据相同
我的代码
<head>
<meta charset="utf-8"/>
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.2.607/styles/kendo.common.min.css"/>
<link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.2.607/styles/kendo.rtl.min.css"/>
<link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.2.607/styles/kendo.silver.min.css"/>
<link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.2.607/styles/kendo.mobile.all.min.css"/>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://kendo.cdn.telerik.com/2016.2.607/js/kendo.all.min.js">
</script>
</head>
<body>
<input id="parent" />
<input id="child" />
<?php
$data = '[
{ childName: "Child1", childId: 1, parentId: 1 },
{ childName: "Child2", childId: 2, parentId: 2 },
{ childName: "Child3", childId: 3, parentId: 1 },
{ childName: "Child4", childId: 4, parentId: 2 }
]';
?>
<script>
$("#parent").kendoDropDownList({
dataTextField: "parentName",
dataValueField: "parentId",
dataSource: [
{ parentName: "Parent1", parentId: 1 },
{ parentName: "Parent2", parentId: 2 }
]
});
$("#child").kendoDropDownList({
cascadeFrom: "parent",
dataTextField: "childName",
dataValueField: "childId",
dataSource: <?php json_encode($data); ?>
});
</script>
</body>
</html>
我不知道我的代码有什么问题,请帮助我解决问题,任何帮助将不胜感激!谢谢!
最佳答案
您忘记了echo
您的php变量
<?php echo json_encode($data); ?>
另外,由于您希望使用json格式,因此也必须对其进行解析,因此必须将属性名称括在双引号中。
您的php变量将变为:
$data = '[
{ "childName": "Child1", "childId": 1, "parentId": 1 },
{ "childName": "Child2", "childId": 2, "parentId": 2 },
{ "childName": "Child3", "childId": 3, "parentId": 1 },
{ "childName": "Child4", "childId": 4, "parentId": 2 }
]';
dataSource
将是:dataSource: JSON.parse(<?php echo json_encode($data); ?>)
它的工作:)