Jquery datepicker - ручной запуск - PullRequest
12 голосов
/ 12 ноября 2011

Я использую jquery datepicker в одном из моих проектов, и мне нужно активировать datepicker, нажав на гиперссылку, которая находится рядом с моей областью ввода.

К сожалению, я не могу заставить это работать по какой-то причине.

У меня есть область ввода и гиперссылка, которую я хотел бы запустить в области ввода.

<input type="text" id="date" /><a href="#" class="trigger">Show calendar</a>

Я пытался придумать код Javascript, такой как:

$(".trigger").click(function(){ 
$("#date").datepicker("show"); 
}); 

Как кто-то еще в одном из предыдущих обсуждений предложил использовать метод SHOW, чтобы сделать календарь всплывающим. Но это не работает.

Код, такой как

$(function() {
$("#date").datepicker();
});

работает нормально, но просто нажав на область ввода (не при включении гиперссылки).

У кого-нибудь есть идеи или предложения, как заставить это работать? Насколько я знаю, я не единственный, кто гонится за решением.

Большое спасибо! ;)

Ответы [ 2 ]

20 голосов
/ 12 ноября 2011

Является ли ваша click() функция события в функции jQuery(document).ready()?

Поскольку jQuery будет рекурсивно назначать обработчик событий щелчка для каждого класса, который вы определили при загрузке страницы.

В противном случае он ничего не сделает, если находится вне функции готовности документа, например:

$(function() {
    $("#date").datepicker();
    $(".trigger").click(function(){
        $("#date").datepicker("show");
    }); 
});

также я предполагаю, что у вас загружено jQuery и плагин datepicker в заголовке документа HTML :)

1 голос
/ 09 августа 2017

Я использую это:

$(".ui-datepicker-current-day").trigger("click");

...