11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
J'aimerai que lorsque je change un input je puisse récupérer la valeur d'un autre input (pour pouvoir le changer après). Les 2 inputs sont dans un tableau. Et il y a plusieurs tableau l'un en dessous des autres. Les tableaux et les champs sont créer dynamiquement avant.

Quand je cherche l'input le plus proche, il me retourne undefined.

Merci de votre aide

    $(document).on('change', '.mat', function() {
         alert($(this).closest('input[name="max_40"]').val());
})


<table>
<thead><tr><th></th><th>Valeur minimale</th><th>Valeur maximale</th></tr></thead>
<tbody id="tbody_1">
<tr>
    <td>test 2</td><td><input type="text" value="0"  name="min_2"></td><td><input type="text" value="21" required="required" name="max_2" class="mat"></td>
</tr>
<tr>
    <td>test 1</td><td><input type="text" value="6" name="min_40"></td><td><input type="text" value="1"  name="max_40"></td>
</tr>
</tbody>
</table>

<table>
<thead><tr><th></th><th>Valeur minimale</th><th>Valeur maximale</th></tr></thead>
<tbody id="tbody_2">
<tr>
    <td>test 2</td><td><input type="text" value="0"  name="min_2"></td><td><input type="text" value="21" name="max_2" class="mat"></td>
</tr>
<tr>
    <td>test 1</td><td><input type="text" value="3" name="min_40"></td><td><input type="text" value="4"  name="max_40"></td>
</tr>
</tbody>
</table>

Modifié par neka (07 Apr 2015 - 10:19)
ok merci !
J'ai bricolé quelque chose du coup. Mais il doit y avoir mieux ?

var idbody = $(this).parent().parent().parent().attr('id');
var element1 = $('#'+idbody +' input[name="max_40'"]').val();
Je ne comprend pas trop ce que tu veux faire ai fait, mais tu peux utiliser closest sur ton exemple quand même ^^

var idbody = $(this).closest('tbody').attr('id');
var element1 = $('#'+idbody +' input[name="max_40'"]').val();