在js中 怎么循环输出php数组
在js中 如何循环输出php数组
现在进退两难,退到php,js要加载东西。
退到js, 又想要取出php的数据变量。
怎么办?请教了,谢谢!
var e = new WebFXTreeItem("<?php echo $arr[i]['ConstrProjName'];?>");
这里边的$arr[i]['ConstrProjName'] 是要动态获取用的值。
现在怎么整啊?给开个窍吧,谢谢!
------解决思路----------------------
php数组序列化为js数组js就可以直接用了
------解决思路----------------------
var e = new WebFXTreeItem("<?php echo $arr[i]['ConstrProjName'];?>");
你这句话不能这么写因为在服务器端执行PHP时不会解析你的js东西你那个i不会识别的。
当发到客户端时你的PHP代码又没有了所以括号里面永远不会识别的。
你应该在第六行将PHP数组$arr转换成js数组或者JSON对象(我推荐用JSON对象)
然后把你的for循环变成for in循环遍历你接收那个对象就行了。
------解决思路----------------------
改成这样试试。
现在进退两难,退到php,js要加载东西。
退到js, 又想要取出php的数据变量。
怎么办?请教了,谢谢!
<script type="text/javascript">
var tree_gen="<?php echo $arr[0]['ConstrProjName'];?>"; //可以赋到值
var tree_len="<?php echo count($arr);?>" //可以赋到值
if (document.getElementById) {
var tree = new WebFXTree(tree_gen);
tree.setBehavior('classic');
for (var i=0;i<tree_len;i++){
var e = new WebFXTreeItem("<?php echo $arr[i]['ConstrProjName'];?>"); //此时,i 变量得不到值,也就是不能用。 后边的document.write也都输出不了了。
tree.add(e);
document.write("888");
}
document.write(tree);
tree.expandAll();
}
document.write("999");
</script>
var e = new WebFXTreeItem("<?php echo $arr[i]['ConstrProjName'];?>");
这里边的$arr[i]['ConstrProjName'] 是要动态获取用的值。
现在怎么整啊?给开个窍吧,谢谢!
------解决思路----------------------
php数组序列化为js数组js就可以直接用了
------解决思路----------------------
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数组转为json
if (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>