我需要将结果数据集中的值附加到可能具有input
等任何特殊字符的*^&$#>,'"
。问题是我无法追加整个{{1}进入var
。
请检查this fiddle。我错过了什么东西?
我不能在不使用input
和.find
this one的情况下执行此操作吗?
答案 0 :(得分:3)
这是因为你要连接字符串,这不会考虑特殊字符的转义。您应该使用.val
设置值,以便正确转义值。此外,正则表达式是不必要的。
$(document).ready(function(){
var test= "this is vicky\"s \"s 's 's \"s \"S";
alert(test);
var input = $("<input style='width:700px;' id='testbox'></input>").val(test);
$("#test").html("hey this is ").append(input);
});
答案 1 :(得分:2)
因此,为了在不使用.find
或单独附加var
的情况下解决此问题,我找到了一个简单的解决方案。我只需要将single quote
“'”替换为其iso latin code '
和其他特殊字符及其各自的代码,然后在.html
中使用该变量
var something= "this is vicky\"s \"s 's 's \"s \"S";
test=something.replace(/'/g,"'").replace(/"/g,'\\"');
$("#test").html("hey this is <input id='testbox' value='"+test+"'></input>");
答案 2 :(得分:1)
我尝试了很多事情,终于成功了:
var getClinician = row.ClinicianName;
getClinician = getClinician.replace(/"/g, """);
var Clinician = '<td align=""><input type="text" id="txt_Clinician_' + row.ScheduleID + '" value="' + getClinician + '" />';