проблема с замаскированным входным плагином - PullRequest
1 голос
/ 04 сентября 2011

Не знаю, почему после добавления нового ввода Плагин маскированного ввода не работает на нем (новый ввод)?

Пример: 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 Ответ

1 голос
/ 05 сентября 2011

Похоже, что было две проблемы:

  1. Плагин необходимо снова применить к новому входу в вашем событии клика:

    newDiv.find('input').mask("9999/99/99");
    
  2. Функция clone должна вызываться с withDataAndEvents, установленным в false:

    var newDiv = $($(this).closest('.adding').get(0)).clone(false);
    

Похоже, вы пытались клонировать вход, а затемиспользуйте .clone(true), чтобы взять с собой функциональность маски для поездки (верно?).К сожалению, похоже, это не сработает.Вы можете видеть в этой скрипке , когда я пытаюсь клонировать ввод, похоже, что ссылки на исходный ввод все еще там застряли, создавая какое-то странное поведение.

...