>  기사  >  백엔드 개발  >  在js中 如何循环输出php数组

在js中 如何循环输出php数组

WBOY
WBOY원래의
2016-06-23 13:44:511138검색

现在进退两难,退到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("");  
这里边的$arr[i]['ConstrProjName'] 是要动态获取用的值。

现在怎么整啊?给开个窍吧,谢谢!


回复讨论(解决方案)

php数组序列化为js数组js就可以直接用了

 var e = new WebFXTreeItem(""); 
你这句话不能这么写因为在服务器端执行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>

传值的时候,数组转化为json,这样你可以遍历json对象。

谢了 各位,楼上的管用,好使。 呵呵

给大家点儿分

改成这样试试。

         var e = new WebFXTreeItem(arr[i]['ConstrProjName']); // 改为读json数组        tree.add(e);        document.write("888");



另外,请教一下,每层级在显示时都要加上隐藏id号,和(tree.getSelected().id 还不一样,它是顺序。)我想加上是层级号,如何加啊?尤其在js里, 有点糊涂。谢谢

id号 是从表中字段取出来的。 第一节点都有一个id号,  每个节点加上隐藏的id号 更好些,求教 ,谢谢

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.