在Javascript中传递类似数学的字符串

时间:2015-05-23 08:13:28

标签: javascript php jquery

我在将时间间隔传递给javascript时遇到了麻烦。时间间隔使用减号格式化(例如10-11表示从上午10点到11点/ PM无关紧要)。

在标记中,我有类似的东西。

<? $mytime = '10-11';?>

<a href="" onclick="checkTime($mytime)"></a>

在Javascript中我有这个

function checkTime(mytime) {
    console.log(mytime);
}

控制台窗口显示-1。我需要拥有相同的字符串。我该怎么办。

3 个答案:

答案 0 :(得分:1)

像这样传递价值

<a href="#" onclick="checkTime('$mytime')"></a>

的实例

<a href="" onclick="checkTime($mytime)"></a>

您正在通过10-11。没有''javascript将此视为数字。

这使得10-11 = -1

像这样的东西

function v(i){console.log(typeof i);}
v(10-11) // number
v("10-11") // string

答案 1 :(得分:1)

尝试:

<a href="" onclick="checkTime('<? echo $mytime ?>')"></a>

答案 2 :(得分:0)

您正在onlick函数中直接打印您的php字符串,这将输出如下内容:

 <a href="" onclick="checkTime(10-11)"></a>

您可以轻松地看到这不起作用。这就是为什么你需要在打印php var之前放入单引号,这样它在js中显示为一个字符串:onlick =“checkTime('10 -11')”