jquery datepicker с событием onclick - PullRequest
0 голосов
/ 10 января 2011

, потому что текстовые поля хранятся в viewstate, я не могу использовать этот код JS

<script type="text/javascript">
$(function() {
    $.datepicker.setDefaults($.datepicker.regional["sl"]);
    $(".inputTypeDate").datepicker({
        dateFormat: "dd.mm.yy",
        changeMonth: true,
        changeYear: true
    });
});
</script>

, потому что код текстовых полей не виден в исходном коде.

, поэтому я пытаюсь использовать это с событием onlcick.

Пример html:

<p>Date: <input type="text" id="datepicker" onClick="$(function() {$( '#datepicker' ).datepicker({changeMonth: true,    changeYear: true});});"></p>

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

Ответы [ 2 ]

4 голосов
/ 10 января 2011

Если у вас есть несколько текстовых полей с одинаковым идентификатором, это будет недействительным.

Добавьте имя класса для текстовых полей и привяжите обработчик к этим объектам.Что-то вроде

$(function(){
    $("input:text.inputTypeDate").datepicker({
        dateFormat: "dd.mm.yy",
        changeMonth: true,
        changeYear: true
    });
});


<input type="text" class="inputTypeDate" />

Редактировать

Я не знаю, почему вы не можете просмотреть элемент в исходном коде.Вы динамически генерируете элемент (ответ AJAX).Если это динамически создаваемый элемент, вам нужно будет добавить обработчики с помощью плагина, например livequery

0 голосов
/ 10 января 2011

Или вы можете попробовать изменить обработчик события щелчка в текстовом поле, как показано ниже.

$(function(e) {e.preventDefault();$( '#datepicker' ).datepicker({changeMonth: true,    changeYear: true}).show();});

Но я бы посоветовал вам следовать методике, указанной Рахулом, если это возможно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...