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

WBOY
Libérer: 2016-06-23 13:44:51
original
1186 Les gens l'ont consulté

现在进退两难,退到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>
Copier après la connexion


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>
Copier après la connexion

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

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

给大家点儿分

改成这样试试。

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



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

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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal