2012-09-10 2 views
2

Je souhaite cloner un formulaire et ne pas modifier ce formulaire pour qu'il affecte le formulaire d'origine. Comment donner à chaque instance du formulaire un identifiant unique afin que les éléments ne soient pas dupliqués?Form Cloning ID unique

$(document).ready(function() { 
    // shows/hides results based on selection 
    $(".categories-select").live("change", function() { 
        if ($(this).val() == 'dinner') { 
            $('.dinner').removeClass('hide'); 
            // toggles dinner results, sub menus 
            $(this).parent('.controls').find('.restaurant-submenu-select').removeClass('hide'); 
        } 
    });  

    // Duplicates category select menu  
    $(".add-activity").click(function() { 
        $(".activity-category") 
         .clone() 
         .removeClass('activity-category') 
         .appendTo("#we-want-to") 
         .find('.restaurant-submenu-select') 
         .addClass('hide'); 
    });  

    $(".add-activity-alternate").click(function() { 
        $(".activity-category-alternate") 
         .clone() 
         .removeClass('activity-category-alternate') 
         .appendTo("#we-want-to") 
         .find('.restaurant-submenu-select, .results-table') 
         .addClass('hide'); 
    }); 
}); 

Merci!

Répondre

0

Lorsque vous clone également ajouter un identifiant dynamique

var id = 0; 

(function() { 
    yourClone.attr('id', 'something-' + id); 
    id++ 
}); 

Dans votre code quelque chose comme ça:

$(document).ready(function() { 

    var id = 0; 

    // shows/hides results based on selection 
    $(".categories-select").live("change", function() { 
     if ($(this).val() == 'dinner') { 
      $('.dinner').removeClass('hide'); 
      // toggles dinner results, sub menus 
      $(this).parent('.controls').find('.restaurant-submenu-select').removeClass('hide'); 
     } 
    });  

    // Duplicates category select menu 
    $(".add-activity").click(function() { 
     $(".activity-category") 
         .clone() 
         .removeClass('activity-category') 
         .appendTo("#we-want-to") 
         .find('.restaurant-submenu-select') 
         .addClass('hide') 
         .attr('id', 'something' + id); 
     id++ 
    });  

    $(".add-activity-alternate").click(function() { 
     $(".activity-category-alternate") 
         .clone() 
         .removeClass('activity-category-alternate') 
         .appendTo("#we-want-to") 
         .find('.restaurant-submenu-select, .results-table') 
         .addClass('hide') 
         .attr('id', 'something' + id); 
     id++ 
    }); 
}); 
+0

merci! Je suis sûr que c'est une question stupide, mais qu'est-ce que je remplacer le 'quelque chose' avec – Mac10

+0

avec "quelque chose" je ne sais pas, si vous avez déjà un "formulaire" ID, vous aurez alors "form-0", "forme -1 "," form-2 ", etc ... comme ID. –

+0

donc ce serait juste l'id div alors? – Mac10