如何将 javascript 字符串传递给 javascript 然后将输出转换为字符串以传递给函数

How to pass a javascript string to javascript then convert output to string to pass to function

我无法在我的 javascript 中正确转义 ' 和 "。这是我的代码:

<script>
//live search
    $(document).ready(function(){
        $("#livebox").on("input",function(e){
            $("#datalist").empty();
            $.ajax({
                method:"post",
                url:"/communitysearch",
                data:{text:$("#livebox").val()},
                success:function(res){
                    var data = "<div class='list-group'>";
                    $.each(res,function(index,value){
                        //This part can not deal with the ' and "
                        data += "<a href='#' class='list-group-item' onclick='select("+value.id+", '"+value.name+"')>"+value.name+"</a>";
                    });
                    data += "</div>";
                    $("#datalist").html(data);
                }
            });
        });
    });

    function select(id, name) {
        alert('in select')
        $("#datalist").empty();
    }
</script>

这是我正在谈论的行的输出:

<a href="#" class="list-group-item" onclick="select(1, " first')="">first</a>

我需要它来执行此操作:

<a href="#" class="list-group-item" onclick="select(1, "first")">first</a>
data += "<a href='#' class='list-group-item' onclick='select(" + value.id + ", \"" + value.name + "\")>" + value.name + "</a>";

示例:

>>> value.id = '1'
>>> value.name = 'name'
>>> data = ''
>>> data += "<a href='#' class='list-group-item' onclick='select(" + value.id + ", \"" + value.name + "\")>" + value.name + "</a>";
>>> data
'<a href=\'#\' class=\'list-group-item\' onclick=\'select(1, "name")>name</a>'
>>> print(data)
<a href='#' class='list-group-item' onclick='select(1, "name")>name</a>

感谢关于“逃脱”的提示。最终我得到了它来处理以这种方式编写的数据:

data += "<a href='#' class='list-group-item' onclick='select(" + value.id + ", \"" + myname + "\")'>" + myname + "</a>";