如何使用引号(“)将数据传递给jQuery中的对话框

时间:2011-07-14 03:56:51

标签: javascript jquery

假设我有以下代码:

<html:link onclick="jQuery('#add').data('name','${name}').dialog('open');" href="#">

有了这个,如果 $ {name} = a“b”c ,就会出现问题,链接效果不佳。 我试图逃避价值,序列化,但也许我的方式是错误的。

有任何建议如何做到这一点?我一直在寻找,但我找不到答案。

提前全部谢谢。

3 个答案:

答案 0 :(得分:1)

您需要escape your quotes或通过在其上放置一个侦听器将其从DOM(我推荐)中删除:

$('a').click(function(){
    $('#add').data('name','${name}').dialog('open');
});

答案 1 :(得分:1)

您必须转义数据值,例如html实体。有关详细信息,请参阅this link

而且,您使用的是Struts 2 Framework吗?只需使用<s:property>,它就会为你逃脱。

如果没有,请在jstl中使用<c:out>,它会对您有所帮助:)

答案 2 :(得分:0)

如何不插入JavaScript?

模板 <html:link id="add_name_open_dialog" rel="${name}" href="#">

的JavaScript

jQuery("#add_name_open_dialog").click(function(){
  jQuery('#add').data('name', $(this).attr("rel")).dialog('open');
});