我在将时间间隔传递给javascript时遇到了麻烦。时间间隔使用减号格式化(例如10-11表示从上午10点到11点/ PM无关紧要)。
在标记中,我有类似的东西。
<? $mytime = '10-11';?>
<a href="" onclick="checkTime($mytime)"></a>
在Javascript中我有这个
function checkTime(mytime) {
console.log(mytime);
}
控制台窗口显示-1。我需要拥有相同的字符串。我该怎么办。
答案 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')”