javascript - jQuery 表单提交未被调用

标签 javascript jquery html forms

我有这段代码,通过单击“练习按钮”将 html 元素添加到 div 元素。但是,当我单击表单上的提交按钮时,它不会调用“选定的练习选项”。然而,我在网站上的另一个表格称为“选定的练习选项”。该代码没有调用“选定练习选项”的 jQuery 事件。 jQuery 代码和 html 代码没有错误。这是 jQuery 的错误吗?

 /* Pratice Button Clicked Event */
    - 35     $("#ob-practice").click(function(){
    2 36         $("#newComboDiv").css("display","none");
    2 37         $("#practiceComboDiv").css("display","inline-block");
    2 38         var data = JSON.parse(localStorage.getItem('c'));
    2 39         var text = "<form id='comboselect' action='#'> <select name='option-name'>";
    - 40         for (var i in data){
    3 41             var m = data[i];
    3 42             text += "<option> " + m.name + "</option>";
    3 43         }
    2 44         text += "</select>"
    2 45         text += "<button type='submit' value='submit'> Submit </button> </form>"
    2 46         $("#combo-menu").html(text);
    2 47     });
    | 48     /*Selected Practice Option */
    - 49     $("form").on("submit",function(e){
    2 50         e.preventDefault();
    2 51         var data = $('#comboselect').serializeArray();
    2 52         alert("test");
    2 53 
    2 54     });

最佳答案

click上上$("#ob-practice")<form id='comboselect'>$("#combo-menu") 中动态创建为子项元素。

尝试来自 $("#combo-menu") 的“委托(delegate)”其子代的标签名称为 form :

$("#combo-menu").on("submit","form",function(e){
    e.preventDefault();
    var data = $('#comboselect').serializeArray();
    alert("test");
});

关于javascript - jQuery 表单提交未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41309104/

相关文章:

javascript - 为什么选择 SPA(单页应用程序)?

javascript - 如何刷新 tempo js 以显示新数据?

jquery +循环遍历未选中复选框的html表行

html - 如何限制div宽度?

javascript - 连续事件不适用于从上一个事件创建的元素

javascript - Bootstrap 3 导航、下拉菜单、选项卡(仍然)在 IE8 中不起作用

javascript - 尽管我使用了一个类,但为什么我的函数没有应用于每个元素

php - jQuery/php/mysql - 如何在不重新加载页面的情况下操作 mysqli_query?

wcf - jQuery 发布到 WCF 服务返回 405 错误

javascript - 我可以停止某些函数上的事件传播吗?