[英]Adding inline script to a jQuery html() return
我正在使用for循环和jQuery输出到html()。 将JSON响应输出到html div。
在for循环中,我将每个结果如下转换为输出变量:
$.ajax(settings).done(function(response) {
var output = "";
for (i in response.Products) {
var productID = response.Products[i].ProductId;
var OtherVariables = response.Products[i].OtherResponseFields;
output += "<Some Other Code> <script type=\"application/javascript\"> ...some code unique to each productID... </script>";
}
$("#allResults").html(output);
});
当我在输出变量中没有以下内容时,输出工作正常:
<script type=\"application/javascript\"> ...some code unique to each productID... </script>
但是,当我按照顶级代码示例添加它时,它就会中断。 我正在考虑使用变量“ clicks_productID”让用户在弹出窗口中选择产品数量,然后再将产品和数量添加到我的数据库(尚未构建)中。
是否有更好的方法(每个JSON返回的结果都必须不同-可以是基于提交的变量响应数量)?
更改
<script type=\"application/javascript\">var clicks_" + productID + " = 1;var minimum = 1;function updateClickCount_" + productID + "() {if (clicks >= minimum) {document.getElementById('clickCount_" + productID + "').innerHTML = clicks_" + productID + ";} else {clicks_" + productID + " = 1;document.getElementById('clickCount_" + productID + "').innerHTML = clicks_" + productID + ";}}</script>
至
<scr" + "ipt type=\"application/javascript\">var clicks_" + productID + " = 1;var minimum = 1;function updateClickCount_" + productID + "() {if (clicks >= minimum) {document.getElementById('clickCount_" + productID + "').innerHTML = clicks_" + productID + ";} else {clicks_" + productID + " = 1;document.getElementById('clickCount_" + productID + "').innerHTML = clicks_" + productID + ";}}</scr" + "ipt>
否则,解释器会认为字符串中的结束脚本标记是脚本的结尾
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.