2011-08-10 79 views
0

爲什麼我不能使用jQuery中的php計算出的數字?在Javascript中使用PHP變量/ jQuery

我已經試過這樣:

<div id="time"> 
    <? echo until();?> 
</div> 
var until = $("#time").html(); 

而且

var until = <? echo until();?>; 

但是,沒有一個工作d:

編輯: 計算出的數量將是472541,而功能:

<? 
/** 
* @desc Time until tuesday 
* @param string Time format 
* @return string timestamp 
*/ 
function until($format = ""){ 
    $now = strtotime("now"); 
    $nextTuesday = strtotime("-1 hour next tuesday"); 
    $until = $nextTuesday - $now; 
    if(empty($format)){ 
     return $until; 
    }else{ 
     return date("$format",$until); 
    } 
} 

>

編輯編輯: 不知道是什麼只是happend,但似乎現在的工作:O:d 非常感謝,大家:d

+0

請以得到(doog)幫助更新你的答案?等等? – Veger

+1

你可以發佈,直到方法和生成的HTML? – Joe

+0

您是否嘗試過查看生成的源代碼? – Chronial

回答

0

你試試吧一個腳本塊內,像這樣:

<script type="text/javascript"> 
/* <![CDATA[ */ 

    var until = <?php echo until();?>; 
    alert(until); 

/* ]]> */ 
</script> 
+0

是的,只是不想寫下來(太懶) – Mobilpadde

+0

和什麼打印到HTML,如果你回聲你直到()結果呢? – SunnyRed

+0

這將是472541 – Mobilpadde

0

你可以試試這個

<? $output =until(); echo $output?> 

var until = <? echo $output ?>; 
+0

-1用於shothand''標籤。 –

+4

+1,因爲這是投棄權票的愚蠢理由。 –

0

如果你想呼應出的,直到功能的效果,竟被功能d必須實際返回一些東西。以下將完美運作。

function until() { 
    return '1'; 
} 

<script type="text/javascript"> 
    var until = <?php echo json_encode(until()); ?>; 
</script> 

請注意使用json_encode()。雖然在這種情況下不需要,因爲它只輸出'1'。通常使用json_encode是一個好主意,因爲它可以保證任何來自PHP的語言都是語法上有效的Javascript。生成包含語法錯誤的Javascript非常容易,這會立即終止腳本的其餘部分。

1

我已經從像這樣拉PHP值到一個變量的方法是使在DIV一個新的屬性,像

<div id="time" value="<?= until(); ?>"> 

</div> 

的東西,然後,通過使用JQuery,我可以拉變量說

var until = $('#time').attr(value); 
+0

沒有,沒有幫助D: – Mobilpadde

+0

,你確定$變量可以正確回顯嗎?我想我的意思是說$變量是直到();我將編輯上述內容以顯示此內容 – ntgCleaner

0

首先,你不應該使用速記<?php ?>標籤,這是不推薦。其次,我真的無法追查你的問題。正在發生的事情(或應該發生)什麼錯誤(S)你得到:

http://codepad.viper-7.com/ufrfYR