0
votes

Remplir des valeurs d'entrée sans chaque boucle

$('input[data-x=?').val(data[?]);


0 commentaires

5 Réponses :


1
votes

Non, ce n'est pas possible avec .val () code>. En sélectionnant plusieurs entrées et en définissant la valeur de l'objet JQuery, vous appliquerez la même valeur à l'ensemble de la collection d'éléments.

Si vous essayez d'one-la ligne, vous pouvez faire P>

$('input').each( item => $(item).val(data[ $(item).attr('data-x') ]) );


0 commentaires

1
votes

peut être quelque chose comme ça?

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type='text' class='einp' data-x=0>
<input type='text' class='einp' data-x=1>
<input type='text' class='einp' data-x=2>


0 commentaires


1
votes

Vous ne pouvez pas faire cela sans boucle, bien que vous puissiez optimiser votre code:

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type='text' class='einp' data-x = 0>
<input type='text' class='einp' data-x = 1>
<input type='text' class='einp' data-x = 2>


0 commentaires

1
votes

Vous pouvez utiliser une bibliothèque de liaison de données simple comme knockoutjs

Si vous vous inquiétez de l'ajout d'une autre bibliothèque et que vous avez aussi une compétence pour JavaScript, juste Google Reliure de données dans JavaScript . Vous pouvez trouver de nombreux articles

Fondamentalement, vous avez un objet avec une propriété définie pour chaque zone de texte et getter et Setter se liera à l'événement TextBox. afin que vous puissiez avoir un mécanisme de liaison de données de manière simple simple.


0 commentaires