0

次のように、いくつかの JavaScript コードを php ファイルに追加しています。

これはアクション部分です:

<script type="text/javascript">
function show_product(){
<?php foreach($products as $p){ ?>
if("<?php echo $p->category ?>" == "Smartphone")
document.write('<?php echo ($p->name); ?>');
<?php } ?>
}
</script>

これはボタン部分です:

<?php
$js = 'onClick="show_product()"';
echo form_button('change', 'Search', $js); 
?>

しかし、同じ場所に配置されたボタン呼び出しの後に関数が呼び出され、最初はすべてのデータが利用可能ですが、ボタンをクリックするとページがロードされますが、私が望んでいた完璧な結果が表示されます. 問題が何であるかを見つけるのを手伝ってくれる人はいますか?

4

1 に答える 1

0

$products 配列を JSON にエンコードして PHP から渡し、JavaScript で配列として使用できますか。その配列を for または foreach ループで使用してデータを取得します..その内部でこれ以上 php タグを使用する必要がないように..動作します...

json_encode を使用して php で json に変換してから、javascript があるビュー テンプレートに送信します。

$message = "Hello";

$json = array(   
      'message' => $message,
);
echo $json_encoded = json_encode($json);

it wll output as
{"message":"Hello"}

and in javascript u just try the below,

var output = <?php echo $json_encoded; ?>
alert(output);
alert(output.toSource());
于 2012-12-12T05:58:52.813 に答える