如何将 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>";
我无法在我的 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>";