如何在onclick事件中转义引号

时间:2013-01-21 16:25:02

标签: jquery jquery-ui

我有以下标记,我无法逃脱onclick事件的ajax部分,它是动态内容追加。

    <a class="_button" onclick="$('#add ul')
.append('<li><div class=\'error\'>
<img src=\'img/spinner.gif\' class=\'ajax_progress\' /><span></span></div></div>
<b class=\'bg\'>Prénom, Nom</b> <input type=\'text\'  onclick=\'$(this).autocomplete(autocomp_opt);\' 
class=\'_input _input_text\' style=\'width: 200px;height:24px\' value=\'\' /> 
<b class=\'bg\'>Montant</b> 
<input type=\'text\' id=\'\' 
class=\'_input _input_text _int\' 
style=\'height:24px\' value=\'\' /> € 
<input type=\'submit\' class=\'_submit\' cs_user_id=\'\'  
onclick=\'$.ajax({type:\'POST\',url:\'\'})\'  
value=\'Ajouter\'  /></li>')" 
style="float: left;margin-top: 0px;margin-left: 5px;">Ajouter un associé</a>

返回错误的部分是这一部分:

onclick=\'$.ajax({type:\'POST\',url:\'\'})\'


syntax error
[Break On This Error]   

$.ajax({type:

所以我想这是因为我在单引号内有单引号,但在这种情况下有没有办法逃避引号?

2 个答案:

答案 0 :(得分:3)

圣牛很难读懂。不要对自己这样做。创建一个单独的JS文件,然后添加:

$("input[type=submit]").on('click', function () {
   $.ajax({type: "POST", url: ""});
});

在另一个JS文件中,您可以使用所需的所有引号。

答案 1 :(得分:0)

如果您希望动态添加一堆这些LI,则可能需要向文档添加一个事件侦听器,以处理特定选择器上的所有单击事件。以下是您可能尝试的示例:

$(document).on("click", "._input ._input_text", function(e) {$(e.target).autocomplete(autocomp_opt);}); 

这需要进入你的DOM就绪函数,它会自动将click事件处理程序添加到与选择器匹配的对象中。