2013-03-20 1 views
0

Je crée une application à l'aide de JSP. Dans l'une des pages, l'utilisateur doit entrer certains symptômes. Maintenant, je veux donner un bouton. Lorsque l'utilisateur clique sur ce bouton, une nouvelle zone de sélection est créée.Ajout d'une zone de sélection dynamique

J'ai beaucoup cherché et je ne peux trouver comment ajouter dynamiquement des options pour sélectionner, mais je veux une nouvelle boîte de sélection

Quelqu'un s'il vous plaît aider.

+1

affichant une partie du code que vous avez déjà vous aidera à obtenir une réponse à cette question –

Répondre

0
$(".your-button").click(function() { 
    var selectBoxHtml = ["<select>"]; 
    var sourceItems = [4,5,6]; 
    for (var sourceIndex = 0; sourceIndex < sourceItems.length; sourceIndex++) { 
     selectBoxHtml.push('<option value="' + sourceIndex + '">' + sourceItems[sourceIndex] + '</option'); 
    } 
    $(this).after(selectBoxHtml.join("") + "</select>"); 
}); 

Une fois que sourceItems est dynamique, assurez-vous de l'échapper.

2

Voici un exemple de code:

<html> 
    <head> 
    <script type="text/javascript"> 
     function addSelectBox() 
     { 
      var parentDiv = document.getElementById ("main"); 
      var selectElement = document.createElement ("select"); 
      for (var i=0;i < 5;i++) 
      { 
       var option = new Option ("Text " + i, "Value" + i); 
       selectElement.options[selectElement.options.length] = option; 
      } 
      parentDiv.appendChild (selectElement); 
     } 
    </script> 
    </head> 
    <body> 
    <div id="main"> 
     <input type="button" onclick="addSelectBox()" name="clickme" value="Add Select Box" /> 
    </div> 
    </body> 
</html> 

EDIT:

Pour JSP (si vous disposez des options dans un ArrayList):

<html> 
     <head> 
<% 
     int totalElements = 5; 
     ArrayList r = new ArrayList (totalElements); 
     for (int i=1;i <= totalElements;i++) 
     { 
     r.add (String.valueOf (i)); 
     } 
%> 
     <script type="text/javascript"> 
      function addSelectBox() 
      { 
       var parentDiv = document.getElementById ("main"); 
       var selectElement = document.createElement ("select"); 
       var option; 
<% 
       for (int i=0;i <= r.size();i++) 
       { 
%> 
        option = new Option ('<%=r.get (i)%>', '<%=r.get (i)%>'); 
        selectElement.options[selectElement.options.length] = option; 
<% 
       } 
%> 
       parentDiv.appendChild (selectElement); 
      } 
     </script> 
     </head> 
     <body> 
     <div id="main"> 
      <input type="button" onclick="addSelectBox()" name="clickme" value="Add Select Box" /> 
     </div> 
     </body> 
    </html> 
+0

Merci pour la réponse rapide. Le code fonctionne bien mais j'ai tous les symptômes dans une ArrayList et quand j'essaye d'utiliser cela en définissant les options ... cela ne fonctionne pas ... – user2191908

+0

user2191908

+0

Vous voulez dire javascript Array ou java ArrayList? Pour Javascript Array, utilisez-le comme r [i] au lieu de r.get (i) qui est une notation java. – AC1

Questions connexes