jQuery Datepicker с вводом текста, который не позволяет вводить пользователем - PullRequest
136 голосов
/ 30 сентября 2008

Как использовать jQuery Datepicker для ввода в текстовое поле:

$("#my_txtbox").datepicker({
  // options
});

, что не позволяет пользователю вводить произвольный текст в текстовое поле. Я хочу, чтобы Datepicker всплывал, когда текстовое поле фокусируется или пользователь нажимает на него, но я хочу, чтобы текстовое поле игнорировало любой ввод пользователя с помощью клавиатуры (копирование и вставка или любое другое). Я хочу заполнить текстовое поле исключительно из календаря Datepicker.

Возможно ли это?

jQuery 1.2.6
Datepicker 1.5.2

Ответы [ 23 ]

0 голосов
/ 19 ноября 2013
$('.date').each(function (e) {
    if ($(this).attr('disabled') != 'disabled') {
        $(this).attr('readOnly', 'true');
        $(this).css('cursor', 'pointer');
        $(this).css('color', '#5f5f5f');
    }
});
0 голосов
/ 26 февраля 2013

Если вы хотите, чтобы пользователь выбирал дату из средства выбора даты, но не хотите, чтобы пользователь печатал внутри текстового поля, используйте следующий код:

<script type="text/javascript">
$(function () {
    $("#datepicker").datepicker({ maxDate: "-1D" }).attr('readonly', 'readonly');
    $("#datepicker").readonlyDatepicker(true);

});

0 голосов
/ 18 октября 2012

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

        <asp:HiddenField ID="hfDay" runat="server" />

и в $ ("# my_txtbox"). Datepicker ({опции:

        onSelect: function (dateText, inst) {
            $("#<% =hfDay.ClientID %>").val(dateText);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...