2013-06-06 1 views
0

J'ai une liste déroulante et une fois que l'utilisateur change l'option par défaut value = "" (sur Change) en quelque chose d'autre dans la liste, je voudrais que le formulaire l'ajoute liste déroulante à nouveau avec un nom différent +1 ou quelque chose de similaire avec la possibilité d'ajouter un nombre illimité de liste déroulante ... Je prévois de l'utiliser pour construire une liste de tags dynamiquement.Ajouter une autre liste de sélection avec jQuery

Ceci est un script similaire j'ai trouvé qui travaille avec input type = « text » http://jsfiddle.net/jaredwilli/tZPg4/4/

$(function() { 
    var scntDiv = $('#p_scents'); 
    var i = $('#p_scents p').size() + 1; 

    $('#addScnt').live('click', function() { 
      $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv); 
      i++; 
      return false; 
    }); 

    $('#remScnt').live('click', function() { 
      if(i > 2) { 
        $(this).parents('p').remove(); 
        i--; 
      } 
      return false; 
    }); 
}); 

    <h2><a href="#" id="addScnt">Add Another Input Box</a></h2> 
    <div id="p_scents"> 
    <p> 
    <label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label> 
    </p> 
    </div> 

Je voudrais réellement savoir comment faire la même chose, sauf que je voudrais ajouter un liste déroulante plutôt qu'un texte d'entrée ...

Toute aide sera grandement appréciée! :)

thx

+0

Avez-vous essayé quoi que ce soit? –

+0

Oui, Im utilisant une version modifiée de Scott et tout fonctionne maintenant ... Je ne pouvais pas utiliser jQuery UI 1.9.1 ... ça fonctionne bien avec 1.7.1 pour cette partie de mon application :) –

Répondre

0

Il suffit de changer ce qui est ajouté à une liste de sélection ....

<label for="p_scnts"><select id="p_scnt" name="p_scnt_' + i +'"><option value="">ONE</option><option value="">TWO</option></select></label> 

Updated Fiddle here

+0

Genius! Exactement ce que je cherchais ... et si vite ... Merci beaucoup les gars :) <3 –

+0

Pour une raison quelconque, Im essayer le code tel qu'il est et ça ne fonctionne pas :(il me lance en haut du navigateur # et aucune liste ajoutée ... Im utilisant jquery-ui-1.10.3/jquery-1.9.1.js –

+0

Cela fonctionne dans le violon ... vous ne devez pas avoir modifié quelque chose correctement – Scott

0

Essayez comme ci-dessous, il vous aidera à ...

Violon:http://jsfiddle.net/tZPg4/5136/

HTML:

<div id="divselection"> 
<p> 
<select class="target"> 
    <option value="option1" selected="selected">Option 1</option> 
    <option value="option2">Option 2</option> 
</select> 
</p> 
<div> 

JQuery:

$(document).on("change", ".target", function(){ 
    $("#divselection").html($("#divselection").html() + "<p><select class='target'>" + $(this).html() + "</select><a href='#' id='remScnt'>Remove</a></p>"); 
});  

$(document).on("click", "#remScnt", function(){ 
    $(this).parents('p').remove(); 
}); 
+0

il semble que le changement n'est finalement pas une bonne idée ... si l'utilisateur change la première liste, il va créer une nouvelle liste ... le bouton d'ajout sera finalement la meilleure option. pour ta réponse :) –

Questions connexes