массив ввода текста получить значение - PullRequest
0 голосов
/ 02 апреля 2012

Я хочу получить входное текстовое значение массива в JavaScript

это мой код:

Item : <input id="t_item" name="t_item[]" type="text" class="teks3">
Cost : <input id="t_cost" name="t_cost[]" type="text" class="teks3">
<input type="button" id="tb_more_item" class="add_file"/>

и код js:

$("input#tb_more_item").click(function(){
   var new_file = $("
      Item : <input id='t_item' name='t_item[]' type='text' class='teks3'/>&nbsp;
      Cost : <input id='t_cost' name='t_cost[]' type='text' class='teks3'/>&nbsp;
   ");

   $("div#div_item").append(new_file).fadeIn();
});

Я пытаюсь получить большее значение элемента с помощью этого кода:

var item_value = [], cost_value = [];

$("input#t_item").each(function() {
   $thisItem = $(this);
   item_value = $thisItem.val();
});
$("input#t_cost").each(function() {
   $thisCost = $(this);
   cost_value = $thisCost.val();
});

alert(item_value +"-"+ cost_value );

В результате получаем последнее значение, введенное мной во входном тексте.

У кого-нибудь есть решения?

спасибо

1 Ответ

0 голосов
/ 02 апреля 2012

Вы создаете недопустимый HTML, добавляя элементы с повторяющимися идентификаторами.Обновите селекторы .each (), чтобы вместо них использовать атрибут name.

Кроме того, внутри функций .each () вы перезаписываете переменные массива значением текущего элемента, то есть массив выбрасываетсяпрочь и заменяется значением, поэтому эта переменная содержит только последнее значение после завершения .each ().Что вы хотите сделать, это добавить значение каждого входа в качестве отдельного элемента в массиве:

$('input[name="t_item\\[\\]"]').each(function() {
   item_value.push(this.value);
});

И аналогично для t_cost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...