2011-02-14 3 views

Répondre

2

Essayez quelque chose comme ceci:

$("#ppl").change(function(){ 

    // The easiest way is of course to delete all textboxes before adding new ones 
    //$("#holder").html(""); 

    var count = $("#holder input").size(); 
    var requested = parseInt($("#ppl").val(),10); 

    if (requested > count) { 
     for(i=count; i<requested; i++) { 
     var $ctrl = $('<input/>').attr({ type: 'text', name:'text', value:'text'});   
      $("#holder").append($ctrl); 
     } 
    } 
    else if (requested < count) { 
     var x = requested - 1; 
     $("#holder input:gt(" + x + ")").remove(); 
    } 
}); 

Voir fonctionner here.

+0

merci :). fonctionne très bien. mais je ne veux pas qu'il ajoute continuellement la zone de texte quand je choisis une autre valeur. si vous sélectionnez 5, il affichera seulement 5 zones de texte, alors si vous sélectionnez 3 (il n'affiche que 3 zones de texte), PAS 3 autres zones de texte. J'espère que cela a du sens :) – tonoslfx

+0

Voir ma critique éditée. Bien qu'il soit plus facile de tout effacer et de recommencer à zéro, l'utilisateur perdra tout le texte déjà saisi. Pour cette raison, à la mise à jour, j'ajoute/enlève les éléments requis pour atteindre le nombre correct. – kgiannakakis

+0

merci! quelque chose que je voulais :) – tonoslfx

0

ici est votre solution ... check it out ....

Solution

+0

Alors que ce lien peut répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. – Thor

Questions connexes