繁体   English   中英

将内联脚本添加到jQuery html()返回

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM