Javascript JS:将文本添加到文本区域问题

Javascript JS:将文本添加到文本区域问题,javascript,jquery,Javascript,Jquery,您好,我正在尝试实施针对此问题提出的解决方案: 但这一切都不顺利 将一些虚拟文本添加到textarea元素时,此展开函数可以正常工作: function add_to() { $('#ad_textarea').val($('#ad_textarea').val()+'test'); } 但是,当我尝试将此函数连接到变量时,它会中断: function add_to(word) { $('#ad_textarea').val($('#ad_textar

您好,我正在尝试实施针对此问题提出的解决方案:

但这一切都不顺利

将一些虚拟文本添加到textarea元素时,此展开函数可以正常工作:

function add_to() {
        $('#ad_textarea').val($('#ad_textarea').val()+'test');
}
但是,当我尝试将此函数连接到变量时,它会中断:

function add_to(word) {
            $('#ad_textarea').val($('#ad_textarea').val()+word);
    }
从这行代码调用时:

<?php foreach ($words as $word) {
    echo    "<li class='$word[0]'><a href='#' onclick='add_to('$word');'>$word</a></li>";
    } 
    ?>

您需要转义该值,或者如果确定字符串本身没有引号,则需要更改引号,如下所示:

 onclick='add_to("$word");'
<li class='a'><a href='#' class='word'>aardvark</a></li>
$(function() {
  $("a.word").click(function() {
    $('#ad_textarea').val($('#ad_textarea').val()+$(this).text());
  });
});
但是,最好使用不引人注目的脚本,同时消除此问题,如下所示:

 onclick='add_to("$word");'
<li class='a'><a href='#' class='word'>aardvark</a></li>
$(function() {
  $("a.word").click(function() {
    $('#ad_textarea').val($('#ad_textarea').val()+$(this).text());
  });
});
或与函数一起使用:

$(function() {
  $("a.word").click(function() {
    var t = $(this).text();
    $('#ad_textarea').val(function(i, v) { return v + t; });
  });
});

在“onclick”中有未替换的单引号。要么使用双引号,要么对其进行转义。或者你甚至可以在外部使用双引号,在内部使用单引号。

更改

"<li class='$word[0]'><a href='#' onclick='add_to('$word');'>$word</a></li>";
应该是

onclick="add_to('aardvark');"

在我看来不干净-检查onclick部分的引用。