首页 > 解决方案 > 如何将自动事件附加到 jquery 克隆元素,哪些类会自动递增

问题描述

我正在构建一个 itirnary bilder,当我单击添加第一天表单时出现三个按钮,这三个按钮还包含单击时分开的附加表单,我也可以通过 .on 方法克隆成功添加事件列表器,但我的问题是最终用户可能提交 100使用添加新按钮的表单,所以我需要一个技巧来自动将事件附加到递增的类,因为我在我的程序中自动递增类。(注意,预算调节按钮也是表格)

我试图增加计数

此外,我想以预算住宿形式显示搜索结果并将数据提交给 mysql。这一切都必须以干净的方式发生是否有可能,或者我必须在 reactjs 中这样做

https://codepen.io/praveenshivashakti/pen/YzKoaye

<h2>DAy 1</h2>
<div class="job-content">
  <form class="form1">
  search: <input type="text" name="search"><br>
  Last name: <input type="text" name="lname"><br>
  First name: <input type="text" name="fname"><br>
  Dest name: <input type="text" name="destname"><br>
  Agent name: <input type="text" name="agname"><br>
  other details: <input type="text" name="ot">
  <input type="Button" value="Budget" name="company" class="fClick" />
  <input type="button" value="Accomdation" name="course" class="xClick" />
  <input type="button" value="Transist" name="date" class="rClick" />
</form>
</div>

<h1><a href="add-new-form">ADD New Day </a></h1>






$(function () {
    var duplicates = 0,
        $original = $('.job-content').clone(true,true);

    function DuplicateForm () {
        var newForm;

        duplicates++; 

        newForm = $original.clone(true).insertBefore($('h1'));

        $.each($('input', newForm), function(i, item) {            
            $(item).attr('class', $(item).attr('class') + duplicates);
        });

        $('<h2>Day  ' + (duplicates + 1) + '</h2>').insertBefore(newForm);
    }

    $('a[href="add-new-form"]').on('click', function (e) {
        e.preventDefault();
        DuplicateForm();
    });


    $(document).on('click', '.fClick', function(){ 
    alert("hey!");
}); 
 $(document).on('click', '.xClick', function(){ 
    alert("hey22!");
}); 
 $(document).on('click', '.rClick', function(){ 
    alert("hey33!");
}); 
});

我希望每个按钮触发我可以做的单独事件,但我需要任何自动化过程来做到这一点,就像我不想坐

$(document).on('click', '.fClick', function(){ 
    alert("hey!");
});  

对每个按钮都这样做,因为我有一个生成 100 个表单的页面,可能在提交之前

标签: phpjquerymysqlclone

解决方案


嘿,您可以将事件附加到以一个相似名称开头的所有类

$(document).on("click", "[class*='rClick']", function() { 
    console.log("hey 3");
}); 

推荐阅读