2014-11-14 2 views
-2

Я получил форму, как показано ниже:Получить HTML поле индекса массива с JQuery

<form action='' method='POST' id='form1'> 
<p><input type='text' name='text1[]' value='' />&nbsp;<input type='text' name='text2[]' value='' /></p> 
<p><input type='text' name='text1[]' value='' />&nbsp;<input type='text' name='text2[]' value='' /></p> 
<p><input type='text' name='text1[]' value='' />&nbsp;<input type='text' name='text2[]' value='' /></p> 
<p><input type='text' name='text1[]' value='' />&nbsp;<input type='text' name='text2[]' value='' /></p> 
</form> 

Я хочу использовать JQuery, чтобы сделать следующую задачу: если поле в TEXT1 [] изменение, такое значение должно быть обновлено соответственно в поле text2 []. Я сделал поиск, но ничего не нашел о том, как использовать jQuery для получения индекса текущего элемента в массиве полей.

Не могли бы вы помочь? Благодаря

+0

Что для вас искали тогда? Вы действительно искали индекс - http://api.jquery.com/index/? – Vladimirs

+1

показать нам, что вы попробовали –

+0

посмотреть на отношения с сестрами ... [.next()] (http://api.jquery.com/next/) –

ответ

0

сделай что-то вроде этого

$("input[name='text1[]']").keyup(function() { 
 
    $(this).siblings("input[name='text2[]']").val(this.value); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<form action='' method='POST' id='form1'> 
 
<p><input type='text' name='text1[]' value='' />&nbsp;<input type='text' name='text2[]' value='' /></p> 
 
<p><input type='text' name='text1[]' value='' />&nbsp;<input type='text' name='text2[]' value='' /></p> 
 
<p><input type='text' name='text1[]' value='' />&nbsp;<input type='text' name='text2[]' value='' /></p> 
 
<p><input type='text' name='text1[]' value='' />&nbsp;<input type='text' name='text2[]' value='' /></p> 
 
</form>

+0

Спасибо, но я не хочу использовать братьев и сестер, я не хочу, чтобы это зависело от формы html –

0

Спасибо, я получил это работает как шарм

$(document).ready(function() { 
    $('#form1 input[name="text1[]"]').change(function() { 
     var index = $('#form1 input[name="text1[]"]').index(this); 
     $('#form1 input[name="text2[]"]:eq(' + index + ')').val("1"); 
    }); 
}); 

Не знаю, почему он не работает, прежде чем Я присоединился к stackoverflow: DI помню, я пробовал это раньше: D Спасибо

0

Попробуйте это лучший способ

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#form1 input[name="text1[]"]').change(function() { 
      var index = $('#form1 input[name="text1[]"]').index(this); 
      $('#form1 input[name="text2[]"]').eq(index).val("1"); 
     }); 
    }); 
</script> 
Смежные вопросы