对动态创建的元素运行jQuery.ech()

Running jQuery.each() on dynamically created elements

本文关键字:jQuery ech 运行 元素 动态 创建      更新时间:2023-09-26

我有以下代码;

$('#btnSave').click(function (e) {
    $("input:text").each(function (index, value) {
        var el = $(this);
        if (el.val().length == 0) { el.css('border', '1px solid red') }
        return false;
    });
});

在这里,所有的输入文本元素都是动态创建的,因此我永远无法验证它们是否为空。。

如何将.on().each()一起使用?我在谷歌上搜索时运气不佳。。提前谢谢。。

您的代码相当不错,但去掉了return false;。它在第一个输入被命中后停止.each()循环。

jsFiddle示例

点击页面时,除非元素不在页面上,否则这应该不会成为问题。。也因为您返回的是false;当字段为空时,只有第一个文本框会被赋予边框。。其他人即使空着也会被排除在外。。

试试这个

​$(function() {
    $('#btn1').on('click' , function() {
        var inp = '';
        for(var i=1;i< 6;i++){
           inp += '<input type="text" id="txt' + i + '"/>'
        }   
        $('.textboxes').append(inp);
       var isError = false;
       $("input:text").each(function (index, value) {
            var el = $(this);
            if (el.val() == '') { 
               el.addClass('error');
               isError = true;
            }
        });
            if(isError){return false;}    
    });    
});​

还要检查这个工作示例。。。FIDDLE