Jquery循环遍历在运行时创建的元素

dev*_*dar 5 html foreach jquery loops

我有一个传递给页面的列表,并在运行时创建元素.我想循环遍历这些元素并为每个元素执行一些操作.Under是我的代码:对于从这个列表中创建的每个人,我想对该人进行检查.有人可以帮助我,我只会检查一次:

jQuery的:

$(document).ready(function() {

    $("#userId").each(function(i){
        if ($("#userId").val != '') {
            alert('not null' + i);
        }
    });                 
});
Run Code Online (Sandbox Code Playgroud)

JSP:

<c:forEach items="${person}" var="person">

<input= type="text" id="userId" value="${person.userid}" />
    First name:- ${person.fName} , Last Name:- ${person.lName}
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

And*_*rew 5

您不能在具有相同id属性的页面上拥有多个元素.尝试使用类来代替.

尝试类似的东西:

$(document).ready(function() {

   $(".userId").each(function(i){
       if ($(this).val() != '') {
           alert('not null' + i);
       }
   });
});
Run Code Online (Sandbox Code Playgroud)

另外需要注意的是.val是一种方法,所以你需要调用它来获取值.用.val()而不是.val.正如您现在拥有的代码一样,$(selector).val是一个函数,因此它永远不会是您正在测试它的空字符串.

你的JSP应该是这样的:

<c:forEach items="${person}" var="person">

<input= type="text" class="userId" value="${person.userid}" />
    First name:- ${person.fName} , Last Name:- ${person.lName}
</c:forEach>
Run Code Online (Sandbox Code Playgroud)