代码之家  ›  专栏  ›  技术社区  ›  TheOrdinaryGeek

验证动态输入字段Jquery

  •  0
  • TheOrdinaryGeek  · 技术社区  · 7 年前

    我正在向web表单添加动态输入字段。我用这个来验证这些 Jquery Mask 插件。

    它在初始输入上运行良好,但在动态添加的输入上不起作用。

    我的输入HTML是;

    <input type="text" id="mac_address" name="MacAddress[]">
    

    我的按钮HTML是;

    <button class="add-mac" type="button" title="Add">Add</button>
    

    用于验证输入的语法是(仅适用于第一个输入);

    $('#mac_address').mask('ZZ-ZZ-ZZ-ZZ-ZZ-ZZ', {
        translation: {
            'Z': {
                pattern: /[A-Fa-f0-9]/,
                optional: false,
            }
        }
    });
    

    如何将此验证添加到动态输入?

    我试着把代码添加到 each 循环,尽管它不起作用。

    $('.add-mac').click(function() {
        $('#mac_address').each(function() {
            $(this).mask('ZZ-ZZ-ZZ-ZZ-ZZ-ZZ', {
                translation: {
                    'Z': {
                        pattern: /[A-Fa-f0-9]/,
                        optional: false,
                    }
                }
            });
        });
    });
    

    任何建议都很感激。

    2 回复  |  直到 7 年前
        1
  •  1
  •   vommer    7 年前

    将类添加到输入

      <input type="text" class="mac_address" id="mac_address" name="MacAddress[]">
        <button class="add-mac" type="button" title="Add">Add</button>
    
        <script>
        var count = 1;
        $('.add-mac').click(function() {
    
         $('.mac_address').last().clone().attr('id', 'mac_address' + count).val('').insertBefore($(this));
        count ++; 
        });
        $(document).on('keyup', '.mac_address', function(){
          $('.mac_address').mask('ZZ-ZZ-ZZ-ZZ-ZZ-ZZ', {
            translation: {
                'Z': {
                    pattern: /[A-Fa-f0-9]/,
                    optional: false,
                }
            }
        });
        })
          $('.mac_address').mask('ZZ-ZZ-ZZ-ZZ-ZZ-ZZ', {
            translation: {
                'Z': {
                    pattern: /[A-Fa-f0-9]/,
                    optional: false,
                }
            }
        }); 
    </script>
    

    https://codepen.io/vommbat/pen/MBXeoj

        2
  •  0
  •   Marin Vartan    7 年前

    将id更改为类

    <input type="text" class="mac_address" name="MacAddress[]">
    <button class="add-mac" type="button" title="Add">Add</button>
    
    <script>
    $('.add-mac').click(function() {
        $('.mac_address').each(function() {
            $(this).mask('ZZ-ZZ-ZZ-ZZ-ZZ-ZZ', {
                translation: {
                    'Z': {
                        pattern: /[A-Fa-f0-9]/,
                        optional: false,
                    }
                }
            });
        });
    });
    </script>