使用jquery动态生成目标内容

时间:2016-04-03 19:31:23

标签: javascript jquery

所以我有10个动态创建的输入,如果它们不是空白,我想做一个简单的验证,问题是我所拥有的代码不适用于这些,因为它们不是在页面加载时创建的。

我怎样才能做到这一点? Thx提前

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

2 个答案:

答案 0 :(得分: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 :(得分: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