繁体   English   中英

Sweetalert2 弹出窗口中的 JavaScript 代码无法正常工作

[英]JavaScript code in sweetalert2 pop up could not work

我有一个 web 应用程序,前端使用基本的 HTML5,后端使用 Django。

在前端页面中,弹出一个甜蜜的警报。

但是弹出的甜蜜警报中的 JavaScript 代码无法正常工作。

Swal.fire({
  title: "title",
  html: "<br>" + "Course Code: " + "<select class=\"operator2\" style=\"width: 30%\" id=\"discipline_code_course_code\" name=\"discipline_code_course_code\">\n" +
    "                    <option value=\"\">--Select--</option>\n" +
    "                    {% for code in query_results_code %}\n" +
    "                    <option value=\"{{ code.discipline_code }}{{ code.code }}\">{{ code.discipline_code }}{{ code.code }}</option>" +
    "                    {% endfor %}\n" + "<select>" + "<br>" +

    "Commencing Semester: " + "<select style=\"width: 30%\" id=\"semester\" name=\"semester\">\n" +
    "                    <option value=\"\">--Select--</option>\n" +
    "                    {% for semester in query_results_2.reverse %}\n" +
    "{% if forloop.counter > 3 %}\n" +
    "                    <option value=\"{{ semester.id }}\">{{ semester.slug }}</option>" +
    "{% endif %}\n" +
    "                    {% endfor %}\n" + "<select>" + "<br>" +

    "Course Type: " + "<select style=\"width: 30%\" id=\"type\" name=\"type\">\n" +
    "                    <option value=\"\">--Select--</option>\n" +

    "                    <option value=\"Part Time\">Part Time</option>" +
    "<option value=\"Full Time\">Full Time</option>" +
    "<option value=\"Part time & Full time\">Part time & Full time</option>" +
    "<select><script>$(\"#semester\").change(function(){   //pending220107\n" +
    "                alert('test');\n" +
    "                var code = $('#discipline_code_course_code').val();\n" +
    "                var semester = $(this).val();\n" +
    "\n" +
    "                $.ajax({\n" +
    "                    url: /con2/,\n" +
    "                    type: 'post',\n" +
    "                    data: {code:code, semester:semester},\n" +
    "                    dataType: 'json',\n" +
    "                    success:function(response){\n" +
    "                        alert(response);\n" +
    "                        console.log(response);\n" +
    "                        var len = response.length;\n" +
    "                        $(\"#type\").empty();\n" +
    "                        $(\"#type\").append('<option value=\"\" selected disabled hidden>--Select--</option>');\n" +
    "                        for( var i = 0; i<len; i++){\n" +
    "                            var id = response[i]['id'];\n" +
    "                            var type = response[i]['type'];\n" +
    "                            $(\"#type\").append(\"<option value='\"+type+\"'>\"+type+\"</option>\");\n" +
    "\n" +
    "                        }\n" +
    "                    }\n" +
    "                });\n" +
    "            });<\/script>",

  confirmButtonText: "Submit",
  showCancelButton: true,
  cancelButtonText: "Cancel"

})

为什么甜蜜警报中的 JavaScript 代码不起作用?

我在 JavaScript 代码中添加了:alert('test') ,但没有任何警报,这意味着 JavaScript 代码根本不运行。

JavaScript 代码可以在其他页面中很好地运行而不会弹出甜蜜的警报。

你在语法上有一些错误,正如 Luca Kiebel 在评论中所说的不包括 swal 的 html 中的 js 我做了一个工作小提琴https://jsfiddle.net/3nt1b4mc/你的警报正在改变

Swal.fire({
  title: "title",
  html: "<br>" + "Course Code: " + "<select class=\"operator2\" style=\"width: 30%\" id=\"discipline_code_course_code\" name=\"discipline_code_course_code\">\n" +
    "                    <option value=\"\">--Select--</option>\n" +
    "                    {% for code in query_results_code %}\n" +
    "                    <option value=\"{{ code.discipline_code }}{{ code.code }}\">{{ code.discipline_code }}{{ code.code }}</option>" +
    "                    {% endfor %}\n" + "<select>" + "<br>" +

    "Commencing Semester: " + "<select style=\"width: 30%\" id=\"semester\" name=\"semester\">\n" +
    "                    <option value=\"\">--Select--</option>\n" +
    "                    {% for semester in query_results_2.reverse %}\n" +
    "{% if forloop.counter > 3 %}\n" +
    "                    <option value=\"{{ semester.id }}\">{{ semester.slug }}</option>" +
    "{% endif %}\n" +
    "                    {% endfor %}\n" + "<select>" + "<br>" +

    "Course Type: " + "<select style=\"width: 30%\" id=\"type\" name=\"type\">\n" +
    "                    <option value=\"\">--Select--</option>\n" +

    "                    <option value=\"Part Time\">Part Time</option>" +
    "<option value=\"Full Time\">Full Time</option>" +
    "<option value=\"Part time & Full time\">Part time & Full time</option>" +
    "</select>",
  //"Current Adopted Course Code: " + res.data.msg,
  confirmButtonText: "Submit",
  showCancelButton: true,
  cancelButtonText: "Cancel"

});
$("#semester").change(function(){
   alert('test');
   var code = $('#discipline_code_course_code').val();
   var semester = $(this).val();

   $.ajax({
        url: '/con2/',
       type: 'post',
        data: {code:code, semester:semester},
        dataType: 'json',
        success:function(response){
            alert(response);
            console.log(response);
            var len = response.length;
            $("#type").empty();
            $("#type").append('<option value="" selected disabled hidden>--Select--</option>');
           for( var i = 0; i<len; i++){
               var id = response[i]['id'];
                var type = response[i]['type'];
               $("#type").append("<option value='"+type+"'>"+type+"</option>");
            }
        }
    });
});

`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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