簡體   English   中英

在動態創建的元素上運行jQuery.each()

[英]Running jQuery.each() on dynamically created elements

我有以下代碼;

$('#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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM