我在我的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);
?>
但是,该功能是在一个按钮调用之后调用,该按钮调用放在同一个地方并且所有数据都是可用的,但是我的页面在点击按钮后显示加载,尽管它显示了我想要的完美结果。 任何人都可以帮我找出问题所在吗?
答案 0 :(得分:0)
你可以通过将它编码为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());