Возьмите входное значение из формы с помощью цикла и создайте массив - PullRequest
0 голосов
/ 27 декабря 2018

У меня проблема с функцией JavaScript.Как я могу взять значение из форм ввода с помощью цикла?

Я пытаюсь что-то вроде

var values =[];

for (var h=1; h<=arrange;++h){
  values[h]=parseFloat($('#inputr2"+h+"').val()); 
}

Как я могу добавить h в идентификатор , какinputr20 (if h=0), inputr21 (h=1), кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

Индекс массива основан на 0.Вы должны присвоить значение индексу h-1.Вам не нужно уменьшать это, если вы начинаете цикл с 0.Кроме того, генерируемый вами идентификатор строки не отформатирован должным образом.Вы можете попробовать следующий способ:

var values =[];
var arrange = 2
for (var h=0; h<arrange;h++){
  values[h]=parseFloat($("#inputr2"+h).val()); 
  //Or you can simply use push() which does not require index.
  //values.push(parseFloat($("#inputr2"+h).val()));
}
console.log(values)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="inputr20" value="11.11"/>
<input id="inputr21" value="22.22"/>

Если вы хотите получить все входные значения, имеющие id Начинается с , вы можете использовать map() иget() следующим образом:

var values = $('[id^=inputr2]').map((i, el) => parseFloat($(el).val())).get();
console.log(values)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="inputr21" value="11.11"/>
<input id="inputr22" value="22.22"/>
0 голосов
/ 27 декабря 2018

попробуй

var values =[];

for (var h=1; h<=arrange;++h){
  values[h]=parseFloat($(String("#inputr2"+h)).val()); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...