Как прикрепить автоматизированные события к клонированным элементам jquery, классы которых автоматически увеличиваются - PullRequest
0 голосов
/ 01 октября 2019

Я строю ирландский билдер, в котором, когда я нажимаю кнопку «Добавить день, появляется одна форма с тремя кнопками», эти три кнопки также содержат отдельные вложенные формы при нажатии, я могу клонировать, успешно добавить список событий также методом .on, но моя проблема - конечный пользовательможет отправить 100 форм, используя кнопку «Добавить новую», поэтому мне нужен трюк для автоматического присоединения событий к увеличенным классам, так как я автоматически увеличивал классы в моей программе. (обратите внимание, что транзисторные кнопки бюджетного размещения также являются формами)

я попытался увеличить счетчик

и далее я хочу показать результат поиска в транзисторной форме бюджетного размещения и отправить данные в mysql. все это должно происходить чистым образом, если это возможно, или я должен сделать это в реагировании

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 форм может быть перед отправкой

1 Ответ

0 голосов
/ 01 октября 2019

Эй, вы можете прикрепить событие ко всем классам, начинающимся с одного похожего имени

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