我有这个文档代码:
$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函数。
例如,跟踪的值是“Marsha.”。当我用Mozilla Firebug测试它时,它告诉我:
ReferenceError: Marsha is not defined
btnOpen(Marsha)我在想,当我传递它的时候,我必须放入一个单引号,这样玛莎就会被读取为一个字符串,而不是变量。我知道如何引用的一件事是在它前面加一个反斜杠(\'):
return '<input type="button" value="Open" onclick="btnOpen(\''+tracking+'\')">';但这也不起作用。上面写着:
SyntaxError: missing ; before statement
...e=\"Open\" onclick=\"btnOpen(\\''+tracking+'\\')\">';}},{"name":"status"...为什么会这样呢?
发布于 2013-11-12 17:43:20
反斜杠是一种escape character,用于表示具有特殊含义的序列,或者相反地(在您的示例中)表示字符上的string-literal,否则这些字符将被解释为语言结构的一部分。
转义在许多语言中都很常见,你必须记住你是通过一个(看起来像) PHP脚本构造一个javascript表达式--字符在这两种语言中都有意义。
所以..。如果您希望在字符串中打印文字\,则还必须对其进行转义:
... onclick="btnOpen(\\''+tracking+'\\')" ...https://stackoverflow.com/questions/19924729
复制相似问题