2014-09-30 67 views
0

在我的JavaScript中,我試圖通過html名稱標記傳遞一個php變量。 html被添加到我選擇的選項中。jQuery中未識別的PHP變量

$("#a"+$selected.val()).append('<input type="hidden" name="<?php echo $event_id; ?>" value="'+$selected.text()+'">'); 

這裏是整個JS功能上有什麼http://laravel.io/bin/Edz25

去現在,我知道一個事實,在我看來,在測試了$事項標識是在做下面的返回一個數組我控制器,並在視圖中回顯變量。

print_r($event_id); 
die(); 

控制器:

$data['event_id'] = $this->model_location->get_event_id(); 

型號:

public function get_event_id() 
{ 

    $this->db->select('id'); 
    $query = $this->db->get('table_eventcards'); 

    return $query->result_array(); 


} 

現在我不知道爲什麼在我的javascript變量不輸出任何東西。

這是檢查元素時的輸出。

<li data-value="28" id="a28">Event title<input type="hidden" name="<?php echo $event_id; ?>" value="Event title"></li> 

如果這會有所幫助,這是我的控制檯日誌http://postimg.org/image/owtz3v8h7/

我真的需要這個解決,感謝所有幫助。包含在HTML不會被PHP解析

+0

「$沒有定義」。在運行腳本之前加載jQuery嗎? – lesssugar 2014-09-30 19:47:03

+1

您確定該頁面正在被PHP處理嗎? – 2014-09-30 19:48:50

+0

@lesssugar該腳本位於加載jquery源代碼的每個頁面的頁腳中。如果我所有的其他jQuery正在工作,我不認爲這是會影響php變量的問題。 – Bobby 2014-09-30 19:50:39

回答

1

的.js文件,爲做到這一點,你可以使用< script>標記,並寫這個變量,例如:

首先,寫你的變量在php文件:

mypage.php

<script> 
    var MY_VAR = "<?php echo $myVar; ?>"; 
<script> 
<script type="text/javascript" src="my_script.js"></script> 

然後你就可以在你的js文件中使用這個變量:

my_script.js

$("#a"+$selected.val()).append('<input type="hidden" name="' + MY_VAR + '" value="'+$selected.text()+'">'); 

甲測試例如:

<?php 
    $myVar = 1; 
?> 

<script> 
    var MY_VAR = "<?php echo $myVar; ?>"; 
    alert(MY_VAR); 
</script> 

警報輸出將是 「1」

+0

我在php頁面上添加了腳本標籤。然後在我的.js頁面中添加js變量。它仍然給出相同的輸出將php變量作爲字符串處理。 – Bobby 2014-09-30 20:13:29

+0

@Bobby我更新了一個測試的例子 – viniciuswebdev 2014-09-30 20:39:45

+0

將js變量設置爲視圖中的php變量傳遞給.js文件。然而,奇怪的是,警報不是在同一個視圖上工作。 – Bobby 2014-09-30 21:19:21