var e = new WebFXTreeItem("<?php echo $arr[i]['ConstrProjName'];?>"); 你这句话不能这么写因为在服务器端执行PHP时不会解析你的js东西你那个i不会识别的。 当发到客户端时你的PHP代码又没有了所以括号里面永远不会识别的。 你应该在第六行将PHP数组$arr转换成js数组或者JSON对象(我推荐用JSON对象) 然后把你的for循环变成for in循环遍历你接收那个对象就行了。
改成这样试试。 <script type="text/javascript">
var tree_gen="<?php echo $arr[0]['ConstrProjName'];?>"; //可以赋到值 var tree_len="<?php echo count($arr);?>" //可以赋到值 var arr = <?php echo json_encode($arr) ?>; // 先把php数组转为jsonif (document.getElementById) { var tree = new WebFXTree(tree_gen); tree.setBehavior('classic'); for (var i=0;i<tree_len;i++){
var e = new WebFXTreeItem(arr[i]['ConstrProjName']); // 改为读json数组 tree.add(e); document.write("888"); } document.write(tree); tree.expandAll(); }document.write("999"); </script>
你这句话不能这么写因为在服务器端执行PHP时不会解析你的js东西你那个i不会识别的。
当发到客户端时你的PHP代码又没有了所以括号里面永远不会识别的。
你应该在第六行将PHP数组$arr转换成js数组或者JSON对象(我推荐用JSON对象)
然后把你的for循环变成for in循环遍历你接收那个对象就行了。
<script type="text/javascript">
var tree_gen="<?php echo $arr[0]['ConstrProjName'];?>"; //可以赋到值
var tree_len="<?php echo count($arr);?>" //可以赋到值
var arr = <?php echo json_encode($arr) ?>; // 先把php数组转为jsonif (document.getElementById) {
var tree = new WebFXTree(tree_gen);
tree.setBehavior('classic'); for (var i=0;i<tree_len;i++){
var e = new WebFXTreeItem(arr[i]['ConstrProjName']); // 改为读json数组
tree.add(e);
document.write("888");
}
document.write(tree);
tree.expandAll();
}document.write("999");
</script>
另外,请教一下,每层级在显示时都要加上隐藏id号,和(tree.getSelected().id 还不一样,它是顺序。)我想加上是层级号,如何加啊?尤其在js里, 有点糊涂。谢谢