2012-12-12 56 views
0

我加入一些JavaScript代碼到我的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); 
?> 

但是,函數調用後放在同一個地方的所有數據都可用的按鈕調用後,仍然我的頁面顯示加載後單擊按鈕,雖然它顯示的完美結果我想要什麼。 任何人都可以幫助我找出問題所在?

+1

後一些代碼的.. HTML和按鍵部分..查看模板 – bipen

+0

好吧,我加按鍵部分也 –

+0

如果你正在使用jQuery,嘗試把代碼文件。準備好了 – Autolycus

回答

0

您可以通過編碼到JSON並在JavaScript中使用數組傳遞$產品數組。使用該數組for或foreach循環來獲取數據..所以你不需要使用更多的PHP標籤裏面..它將工作...

使用json_encode將它轉換成json在php之前發送到其中u的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()); 
+0

可以請你給我看一個示例代碼,將我的php數組轉換爲json並將其分配給javascript數組,請注意? –

+0

$ message =「Hello」; $ json = array( 'message'=> $ message, ); echo $ json_encoded = json_encode($ json); 它WLL輸出 { 「消息」: 「你好」}? 和JavaScript中你剛剛嘗試下面, VAR輸出= 警報(輸出); alert(output.toSource()); –

+0

或可以使用阿賈克斯爲此..如果你可以按照此, http://www.darian-brown.com/pass-a-php-array-to-javascript-as-json-using-ajax-和json_encode / –

相關問題