掩码输入插件的问题

时间:2011-09-04 19:29:48

标签: javascript jquery jquery-plugins mask

我不知道为什么在添加新输入后,Masked Input Plugin无效(新输入)?

示例: http://jsfiddle.net/yx5wa/1/

$('a.add_input').live('click', function (event) {
    event.preventDefault();
    var newDiv = $($(this).closest('.adding').get(0)).clone(true);
    $(this).closest('.adding').find('.add_input').remove()
    newDiv.find('.adda').not(':has(.remove_input)').append('<div class="mediumCell"><a href="" class="remove_input">remove</a></div>')
    newDiv.hide().fadeIn('slow')
    $('.adding:last').after(newDiv);
    $('.adding' + ':last input:checkbox').prop('name', 'checkbox_units[' + size_un + '][]');
    console.log($('.adding:last input:checkbox').prop('name'));
});

1 个答案:

答案 0 :(得分:1)

看起来有两个问题:

  1. 需要再次将插件应用于点击事件中的新输入:

    newDiv.find('input').mask("9999/99/99");
    
  2. 需要在clone设置为false的情况下调用withDataAndEvents函数:

    var newDiv = $($(this).closest('.adding').get(0)).clone(false);
    
  3. 您似乎正在尝试克隆输入,然后使用.clone(true)为骑行带来遮罩功能(对吗?)。不幸的是,看起来这不起作用。您可以在此fiddle中看到,当我尝试克隆输入时,看起来对原始输入的引用仍然卡在那里,造成一些奇怪的行为。