ホームページ  >  記事  >  バックエンド開発  >  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("d594fbf9674bfd2a6d342b7abb911d75");
ここでの $arr[i]['ConstrProjName'] は次のようになります。使用される値を動的に取得します。

今何をすべきですか?アドバイスをお願いします、ありがとうございます!


ディスカッション(解決策)に返信

php 配列は js 配列にシリアル化でき、js を直接使用できます

var e = new WebFXTreeItem("ffbc9baa577b38fa0e7407ac6a99be81");
PHP がサーバー側で実行されるときに JS 要素が解析されず、認識されないため、この文をこのように書くことはできません。
クライアントに送信されると、PHP コードは失われるため、括弧は認識されません。
6 行目で 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>

valueを渡すとき、配列はjsonオブジェクトを走査できるようにjsonに変換されます。

皆さん、ありがとう。上記のものはうまくいきます。うまくいきます。笑

みんなにポイントあげてね

これに変えてみて。

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



また、各レベルを表示するときに、(tree.getSelected().id、シーケンスです) とは異なり、隠し ID 番号を追加する必要があることを教えてください。レベル番号を追加します。追加方法は?特にjsでは少し混乱します。ありがとうございます

ID 番号はテーブルのフィールドから取得されます。最初のノードには ID 番号が付いています。各ノードに隠し ID 番号を追加することをお勧めします。よろしくお願いします。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。