У меня есть страница, которая создает ряд входов на основе выбора пользователя о том, сколько создать:Загрузить из динамически созданного полей ввода
select id="noOfDirectors" name="amount" onchange="addInput();">
<option value="">How Many Directors</option>
<option value="1" >1</option>
<option value="2" >2</option>
<option value="3" >3</option>
<option value="4" >4</option>
<option value="5" >5</option>
<option value="6" >6</option>
<option value="7" >7</option>
<option value="8" >8</option>
<option value="9" >9</option>
<option value="10" >10</option>
</select>
<div id="inputs"></div><br/>
<button id="nod" onclick="return false">Submit</button>
.js файл создает формы:
function addInput(){
noOfDirectors = $('#noOfDirectors').val();
var inputs = $('#inputs').empty();
inputs.innerHTML = "";
for(i = 0; i < noOfDirectors; i++) {
inputs.append('Director '+ (i+1) +' Name: <input type="text" name="directorName[' + i + ']" /><br/>Director '+ (i+1) +' Customer Number: <input type="text" name="directorECN['+i+']" /><br/><br/>');
}
$("#nod").show();
directors = $('[name^=directorECN]').map(function(i) {
//return this.name;
return this.value; // for real values of input
}).get();
}
$(document).ready(function() {
$('#nod').click(function() {
console.log(directors);
});
});
Теперь я хочу взять каждый из этих directorECN['+i+']
имен входных и добавить их в глобально объявленный массив:
var directors = new Array();
Мне сложно определить синтаксис, который работает без жесткого кодирования 10 (0-9) каждого из возможных имен ввода. Есть ли более простой способ сделать это?
Вот мои UPDATED JSFiddle
Обновленные мои JS выше. Консоль печатает [""]
Вы не объяснили, зачем вам это, но звучит, как вы просто хотите сериализовать FORM, см. Https://api.jquery.com/serialize/ или https://api.jquery.com/serializearray/ –
позже в коде, мне нужно перечислить в разное время после сортировки inp UTS. – jpgerb