在Javascript函数中转义引号

时间:2014-08-04 17:21:59

标签: javascript jquery kendo-ui kendo-grid

我试图在kendo网格模板中使用href onclick事件。当我点击链接时,我需要提醒显示路径文本,但它会给出" PDF未定义错误"。我认为这可能是逃避报价的问题。

$ {PDF}返回字符串值。

template: "<a id='${PDF}' class='clsPDF' onclick='setpdf(\${PDF});' href='\\#'>View</a>"


 <script>

function setpdf(path)
{
  alert(path);
}
</script>

2 个答案:

答案 0 :(得分:1)

我会建议略有不同的方法。您可以使用附加到Grid元素的委托函数来代替使用内联函数,该函数将处理您在模板中定义的所有按钮。

e.g。

$("#gridName").on("click", ".clsPDF" , function(){
    var model = $("#gridName").data("kendoGrid").dataItem($(this).closest("tr"));
    alert('you clicked on item with id' + model.TheIdProperty);
})

我希望这会给你一个想法。我认为这样更干净。

答案 1 :(得分:0)

当浏览器查看链接时,请确保它看起来像这样:

<a id='someId' class='clsPDF' onclick='setpdf("pdf.pdf");' href='#'>View</a>

如果它看起来像这样:

<a id='someId' class='clsPDF' onclick='setpdf(pdf.pdf);' href='\\#'>View</a>

它会认为pdf是一个javascript对象/变量,并尝试使用它。

所以你说得对,很可能是报价问题。您可以尝试使用转义双引号包装\ $ {PDF}:

\&#34; \ $ {PDF} \&#34;