2010-07-31 3 views

Répondre

3

Vous pourriez faire quelque chose comme ça, analyser la première valeur, puis incrémenter le reste en fonction de leur indice:

$("ol input:first").keyup(function() { 
    var val = parseInt(this.value, 10); 
    $("ol input:gt(0)").val(isNaN(val) ? '' : function(i) { return val + i + 1; }); 
});​ 

You can give it a try here. Le conditionnel if/else vérifie si la valeur est légitime, par ex. Si vous frappez en arrière et qu'il est vide, vous n'obtiendrez pas NaN dans chaque entrée suivante, à l'intérieur nous allons vider la valeur afin qu'elle soit gérée avec élégance.

+0

Aimez votre solution, Nick. je dois encore taper une valeur sur une entrée donnée et tous les autres en avant obtiendront l'incrément de valeur .. Comme, je tape 1 sur le 1er, alors tous les autres obtiennent 2,3,4,5. Mais si je vais changer 4 à 10, le 5 va à 11, et les autres restent intacts –

+0

@Vitor - Est-ce que tu veux dire? http://jsfiddle.net/nick_craver/dhYYR/4/ –

+0

Exactement. Merci encore –

1

Vous pouvez utiliser chaque fonction de jQuery. Quelque chose de semblable à ce qui suit:

var counter=Number($("input[selector for your first textbox]").val()); 
$("input[selector for inputs in your list]").each(function() 
{ 
    this.val(++counter); 
} 
1

le balisage suivant, vous pouvez utiliser jQuery pour définir les valeurs:

<ul> 
    <li><input id="start" type="text" /></li> 
    <li><input class="auto" type="text" /></li> 
    <li><input class="auto" type="text" /></li> 
    <li><input class="auto" type="text" /></li> 
    <li><input class="auto" type="text" /></li> 
</ul> 

Et le jQuery:

$(document).ready(function() { 

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

     // Get the value entered 
     var value = new Number($(this).val()); 

     // Increment the other fields 
     $(".auto").each(function() { 
      value++; 
      $(this).val(value); 
     }); 

    }); 

}); 

Voir l'exemple de travail here. Notez qu'il n'y a pas de validation à ce sujet, mais cela vous donnera une autre idée de la façon d'accomplir ce que vous recherchez.

Questions connexes