Получение отдельных входных значений из динамических полей ввода

#javascript #html #jquery

Вопрос:

После создания динамических входных данных вместе со своими динамическими идентификаторами путем добавления, только последнее сгенерированное поле ввода дает значения

Другие поля динамического ввода возвращают пустую строку

Примечание: Я могу получить все значения динамических входных данных, используя цикл и вставляя их в массив, но я также хочу, чтобы каждый вход был настроен индивидуально . Но только созданное конечное поле ввода дает значение

Вот моя скрипка,

https://jsfiddle.net/xd8nvktf/3/

Не в состоянии придумать решение, Помощь ценится

—Спасибо

HTML

 <head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>

<body>

<button type = "button" class = "btn btn-primary" id = "addInput">Add Input Fields</button>

<div id = "inputAdder">

</div>



</body>
 

JS/JQUERY

 var a = 0;
var fieldValue;

var dataStored = [];
var valueStored = [];

$("#addInput").on("click", function() {

  a  = 1;

  fieldValue = `#filter-value${a}`;

  $("#inputAdder").append(

    `<div class = "row" id="appender${a}">
            
<div class="col-md-4 padderSpace">
                <input id="filter-value${a}">
            </div>
            
</div>`
  )
 
   dataStored.push({value:fieldValue});
   console.log(dataStored) 

})


$("#inputAdder").on("keyup",fieldValue,changeFunc);

   
  function changeFunc(){

console.log($(fieldValue).val()); 

valueStored = [];
  
  for(let i = 0;i<=dataStored.length;i  ){

valueStored.push({value:$(dataStored[i].value).val()}) 

console.log(valueStored)
  
  }
  
  }
   
 

Ответ №1:

Вам нужно передать текущий textbox идентификатор вашей changeFunc функции.

 function changeFunc(e){
    console.log($("#"   e.target.id).val()); 
  }
 

Вот рабочий образец.

Комментарии:

1. Я понимаю, но я хочу, чтобы изменялось только одно значение поля ввода. (например:{значение:»aa»} , а не [{значение:»ss»},{значение:»aa»},{значение:»bb»}]. Я хочу, чтобы вводилось только текущее значение поля ввода

2. Прости, что не застал тебя за one value of input field being altered

3. Или, допустим, у меня есть 4 входа, могу ли я получить идентификатор поля ввода, которое я набираю(например, ввод 2)? Поскольку я должен написать условие, основанное на идентификаторе одного конкретного поля, которое в данный момент вводится

4. Да, я понял это и обновил свой ответ. Просьба проверить