Мне нужно очистить дату с помощью отдельного элемента управления; jquery DatePicker действует - PullRequest
1 голос
/ 18 мая 2011

У меня есть форма со следующей динамически добавленной строкой:

<input type="text" name="statuseffective" id="statuseffective_0" class="datepicker" size="15" sid="0" ordr="0">  
<span style="cursor:pointer; text-decoration:underline; margin-bottom:-14px;" onclick="clearDate();">Clear</span> 

имя statuseffective с идентификатором statuseffective_0 - это динамически добавляемая строка.Чтобы не дать взломщикам вводить даты, такие как 01.01.1752, в мое текстовое поле, мне нужно сделать поле доступным только для чтения, используя $('.datepicker').datepicker().attr("readOnly", true), поскольку они игнорировали всплывающий календарь jquery.Поведение datepicker по умолчанию все еще позволяет пользователю вводить даты, используя ключи - я должен предотвратить это.поскольку ключи теперь отключены, мне нужен способ, позволяющий пользователю убирать даты, поэтому я добавляю «очистить» опцию после поля ввода текста.Так как строки могут быть добавлены динамически, как я могу получить значение поля ввода непосредственно перед открытым текстом?Код, показанный в начале этого поста, - это то, с чем я работаю.

Ответы [ 2 ]

0 голосов
/ 18 мая 2011

Я бы вынул встроенный js и использовал бы .live ()

для html

<input type="text" name="statuseffective" id="statuseffective_0" class="datepicker" size="15" sid="0" ordr="0">  
<span style="cursor:pointer; text-decoration:underline; margin-bottom:-14px;" class="clear">Clear</span>

, тогда в вашем документе готов

$('.clear').live('click',function(){
        var before_val = $(this).prev().val();
        $(this).prev().val("")
});
0 голосов
/ 18 мая 2011

Попробуйте сделать что-то подобное вместо размещения события onclick в разметке вашего диапазона:

$('.datepicker').next('span').click(function() { $(this).prev().val(''); });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...