2016-04-03 2 views
3

Итак, у меня есть 10 входов, динамически созданных, и я хочу сделать для простой проверки, если они не пустые, проблема в том, что код, который у меня есть, не работает для них, потому что они не созданы на загрузка страницы.Целевой контент, сгенерированный динамически с помощью jquery

Как я могу достичь этого? Thx заранее

function submitForm() { 
    for(var i = 0; i < 10 ; i++){ 
     if($("#input"+i).value == null){ 
      alert("False!!"); 
     } 
    } 
} 
+0

Вы поместите этот код в $ (документ) .ready()? – conventi

+0

Я попробую это thx –

+0

Я бы использовал jquery .each, чтобы решить это, вы пробовали это? – theblindprophet

ответ

1

Вы должны использовать val() для проверки ввода значения вместо value

(function() { 
 
    var i = 0; 
 
    $('button').click(function() { 
 
    $('body').append('<input type="text" id="input-' + i + '">'); 
 
    i++; 
 
    }); 
 

 
    $('input[type="submit"]').click(function() { 
 
    $('input[type="text"]').each(function() { 
 
     if ($(this).val() == '') { 
 
     alert($(this).attr('id') + ' is empty'); 
 
     } 
 
    }); 
 
    }); 
 
})();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="submit" value="Submit"> 
 
<button>Create input</button>

1

Вы должны использовать .val() вместо .value. Я также предлагаю использовать .each(). Также, когда input пуст, его значение составляет "" не null.

for(var i = 0; i < 10 ; i++) { 
    if($("#input"+i).val() == "") { 
     alert($("#input"+i).attr('id') + " is empty!") 
    } 
} 

JSFiddle

Смежные вопросы