Мне нужно перебрать все элементы ввода

0

Я пытаюсь пропустить все динамически созданные входы внутри элемента div. Первый элемент ввода уже существует в dom.

Я использовал следующий код:

$(document).on("click", "#myClickLink",function(){
   $("#divElement input").each(function(){ 
      alert($(this).val()); 
   });  
});

Проблема в том, что я получаю только первый элемент ввода, любую помощь?

заранее спасибо

  • 7
    Покажите нам свой HTML также, или сделайте online demo как на Fiddle .
  • 0
    input[type=text] попробуйте это вместо ..
Показать ещё 1 комментарий
Теги:
loops
each
dynamic
input

2 ответа

0
Лучший ответ

По-моему, вы должны input element first, добавить input element first, () input element first, а только вы можете получить newly created input elements в $.each loop,

$(document).on("click", "#myClickLink",function(){
   newid=$("#divElement input").length+1;
   // append a new input first
   $("#divElement").append('<input type="text" id="'+newid+'" value ="'+newid+'" />');
   $("#divElement input").each(function(){ 
      alert($(this).val()); 
   });  
});

Демо и демо с добавлением дополнительных и контрольных ссылок

  • 0
    Спасибо, ваш ответ помог мне найти мою ошибку, я использовал appendTo и указывал на другой div
0

ваш код работает, когда он завернут в функцию jquery ready.

$(document).ready(function() {
    $(document).on("click", "#myClickLink",function(){
        $("#divElement input").each(function(){ 
            alert($(this).val()); 
        });  
    });
});
  • 0
    Как вы можете знать это, не зная его разметки HTML?
  • 0
    Он получает only getting the first input element , поэтому его код работает
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню