2015-08-23 76 views
0

我有一個JavaScript和PHP代碼的問題。以下是我的代碼:如何在JavaScript函數中添加PHP和HTML div代碼?

<div class= "stars" data-id="'.$rows[$id].'" data-title="name "></div> 

當我把這段代碼放到HTML中時,腳本工作。但是當我把這段代碼加入JavaScript時,這段代碼不起作用。我修改了這段代碼,把它放在JavaScript中:

<?php echo "<div class= \'stars\' data-id=\'".$rows[$id]."\' data-title= \'name \' ></div>" ;?> 

無論如何,這段代碼不起作用。我錯過了什麼嗎?

var script_data= [ 
    { 
     content:'<?php echo $rows[$name];?> <?php echo "<div class= \'stars\' data-id=\'".$rows[$id]."\' data-title= \'name \' ></div>" ;?>' 
    } 
]; 
+0

你確保該javascript文件有一個PHP擴展?如果沒有,php代碼將永遠不會被解釋。也請參考這個問題,它只是一個谷歌搜索:http://stackoverflow.com/questions/3241422/include-php-inside-javascript-js-files另外要注意,這通常是一個壞主意。 – Pavlin

+0

你是在php echo聲明中的第一個代碼(在html中)嗎?請提供其餘的代碼。 關於你的第二次嘗試:你能詳細描述一下「不工作」的含義嗎?你有輸出嗎?如果是這樣,結果如何?我假設你把這段代碼放在一個php文件中,而不是放在一個JS文件中? – JonathanStevens

回答

0

PHP是服務器端語言,而Javascript是客戶端語言。如果您將php代碼插入到使用Javascript的網頁中,您將看到php代碼本身,而不是php代碼輸出的數據。您可能會想要閱讀AJAX,這將允許您使用javascript發佈和接收來自php腳本的數據。

0

你應該這樣做:

#for test: 
<?php $rows['lol'] = 'rofl';$name = 'lol'; $id="lol";$title = 'lol';?> 

#code below works with PHP Version 5.4.39 
<script> 
var script_data= [ 
    { 
<?php echo "title: '$rows[$title]' , \n"; 
    echo "content:' $rows[$name] <div class= \'stars\' data-id=\'".$rows[$id]."\' data-title= \'name \' ></div>'"; ?> 

    } 
]; 

+0

問題是:**類**在這個功能上並不活躍(這很奇怪),並且確實是一個不應該存在的問題,一切都在de class之外很好運行,它是非常重要的類 – Max