2011-08-10 37 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