【发布时间】:2013-11-24 08:08:46
【问题描述】:
我有这个heredoc代码:
$col_formatter = <<<COLFORMATTER
function(cellvalue, options, rowObject){
var tracking = rowObject[5];
var Tes = tracking;
return '<input type="button" value="Open" onclick="btnOpen('+tracking+')">';
}
COLFORMATTER;
但我似乎无法将跟踪变量传递给 btnOpen js 函数。
例如,tracking 的值为“marsha”。当我用 Mozilla Firebug 测试它时,它告诉我:
ReferenceError: Marsha is not defined
btnOpen(Marsha)
我在想我必须在传递它时加上一个单引号,这样 Marsha 才会被读取为字符串而不是变量。我知道如何加引号的一件事是在它之前添加一个反斜杠 (\'):
return '<input type="button" value="Open" onclick="btnOpen(\''+tracking+'\')">';
但这也不起作用。它说:
SyntaxError: missing ; before statement
...e=\"Open\" onclick=\"btnOpen(\\''+tracking+'\\')\">';}},{"name":"status"...
为什么会这样?
【问题讨论】:
-
我认为带有反斜杠的版本应该可以工作。你能展示一下你是如何使用
$col_formatter的吗?
标签: javascript heredoc