Дублирование html-элемента, который передает параметры id в функцию

0

У меня есть функция jquery, которая передает параметры Id в MarkUp. И он отлично работает, когда я клонирую функцию, он возвращает те же идентификаторы. Я бы хотел, чтобы он возвращал разные идентификаторы... как мне найти разные параметры id?

это функция:

    var generateMarkup = function(statusid, emailid) {
        return '<div class = "divAddId" style="float:left;"><div id="wfEmailStatus' + statusid + "_" + emailid + 'Header">' +
            '<input type="checkbox" name="wfEmailStatus' + ($('#workflowModalTabStatus' + statusid + "_" + emailid).length + 1) + 'Conditional" class="typ3 paleText" id="wfEmailStatus' + ($('#workflowModalTabStatus' + statusid + "_" + emailid).length + 1) + 'Conditional" value="Y" disabled="disabled" />' +
            '<label for="wfEmailStatus' + ($('#workflowModalTabStatus' + statusid + "_" + emailid).length + 1) + 'Conditional" class="typ2 noTxtSelect1 paleText"> Delivery Conditional On Field &nbsp;&nbsp;</label>' +
            '<input type="text" name="wfEmailStatus' + ($('#workflowModalTabStatus' + statusid + "_" + emailid).length + 1) + 'ConditionalFields" class="typ1 shad2 paleText" id="wfEmailStatus' + ($('#workflowModalTabStatus' + statusid + "_" + emailid).length + 1) + 'ConditionalFields" ' +
            'value="" disabled="disabled" style="width:310px" />' +
            '<input value = "Remove Field" type="button" class="smallbutt3" id="workflowEmailDeliveryStatus' + ($('#workflowModalTabStatus' + statusid + "_" + emailid).length + 1) + 'Remove" style="float:middle" disabled="disabled"></button></div></div>';
    };

И это мое событие click:

 $('.smallbutt2').click(function() {
            $parent = $(this).parent();
            $rows =$parent.find('.divAddId');
            var $newItem = $(generateMarkup(statusid, emailid));
            $last = $rows.last();
            $newItem.insertAfter($last);
            var $break = $("<br />");
            var $button = $newItem.find('.smallbutt3').first();

            $button.click(function() {
                $newItem.hide();
                $newItem.remove();
                $break.remove();
            });
            $button.fadeIn();
        });
  • 1
    Вы действительно нуждаетесь в этих элементах, чтобы иметь идентификаторы? Если они повторяются, вы, вероятно, должны вместо этого использовать класс.
  • 0
    Я понимаю, что Barmar и я использую класс ... И да, мне нужны эти параметры id ... Я думал об использовании цикла, но это не сработало ... Я надеюсь, что есть более простой способ ...!
Показать ещё 2 комментария
Теги:

1 ответ

0
Лучший ответ
var statusid = 1; // Initialize statusid

$('.smallbutt2').click(function() {
            $parent = $(this).parent();
            $rows =$parent.find('.divAddId');
            var $newItem = $(generateMarkup(statusid, emailid));
            statusid++; // Increment it after generating a new item
            $last = $rows.last();
            $newItem.insertAfter($last);
            var $break = $("<br />");
            var $button = $newItem.find('.smallbutt3').first();

            $button.click(function() {
                $newItem.hide();
                $newItem.remove();
                $break.remove();
            });
            $button.fadeIn();
        });
  • 0
    Ух ты ... Большое спасибо ... Я весь день спорю ... Это работает как шарм ...
  • 0
    Чем я отличался от вас?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню