0

我在我的 php 文件中添加了一些 javascript 代码,如下所示:

这是动作部分:

<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 并在 javascript 中用作数组来从 php 传递 $products 数组吗?在 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 回答