Как поместить замаскированный ввод даты в динамически создаваемое текстовое поле? - PullRequest
0 голосов
/ 20 февраля 2012

Я использую плагин ввода даты jquery из здесь

Я вызываю функцию внутри html-страницы следующим образом

jQuery(function($){
   $("#date").mask("99/99/9999");

});

Она отлично работает во всех областях, гденам просто нужно указать идентификатор элемента.

У меня есть таблица , которая динамически создает строки таблицы элементов HTML, я хочу, чтобы плагин ввода даты применил маску даты в текстовом полеmfd date.

Так как идентификатор продолжает динамически изменяться, так как длина строки добавляется один за другим к идентификатору, чтобы сделать идентификатор уникальным.

Как я могу использовать маскированный ввод даты внутридом стол?

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Вы можете выполнять работу внутри функции insSpec, где у вас есть и идентификатор, и разметка.

Без использования идентификатора:

$(f).find('input[name^="mfd_date"]').mask('99/99/9999');

Используя ID:

$(f).find('#mfd_date'+rl).mask('99/99/9999');

И поскольку эта ячейка действительно имеет только один вход, вам нужно только найти вход

$(f).find('input').mask('99/99/9999');

Или вы можете создать событие после создания новой строки и всегда прикреплять маску к последней строке таблицы или даже передать последнюю строку в качестве данных слушателям событий.

0 голосов
/ 20 февраля 2012

Хорошая идея - использовать постоянный класс. Если вы используете ajax, возможно, вам нужно использовать функцию обратного вызова, чтобы дождаться загрузки кода, прежде чем применять маску. Вы также можете использовать граничный тег div или span вокруг входного тега с постоянным идентификатором. Если у вас есть постоянный объем ввода в форме, вы можете использовать

$('table input[type=text]').eq(n)

, где n в eq (n) - номер позиции в последовательности входов

...