Как да направите изображение на бутона за избор на дата на jQuery ui само за четене

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

Не искам да деактивирам инструмента за избор на дата, тъй като имам нужда стойността да бъде публикувана на сървъра при изпращане на формуляр.

$(function () {
    $(".datepicker").datepicker({
        showOn: "button",
        buttonImage: "../calendar/images/calendar.gif",
        buttonImageOnly: true,
        changeMonth: true,
        changeYear: true,
        onClose: function () {
            $(this).focus();
        }
    });
});    

person user3359065    schedule 08.04.2014    source източник
comment
Вашият хедър във въпроса звучи различно, във вашия въпрос искате целият календар да бъде скрит, а в хедъра искате само изображението да бъде само за четене? какво точно искаш   -  person Dhaval Marthak    schedule 08.04.2014
comment
не, искам текстово поле и img и двете трябва да са само за четене   -  person user3359065    schedule 08.04.2014
comment
Каква е целта на иконата на календара тогава?   -  person Salman A    schedule 08.04.2014


Отговори (2)


Няма такъв начин да направите нещата, но можете да преминете през следните аспекти:

Можете да зададете допустимия диапазон на някакъв невалиден диапазон, така че потребителят да не може да избере дата:

$(".datepicker").datepicker({
      minDate: -1,  // Add this one further
      maxDate: -2,   // Add this one further
      showOn: "button",
      buttonImage: "../calendar/images/calendar.gif",
      buttonImageOnly: true,
      changeMonth: true,
      changeYear: true,
      onClose: function () {
          $(this).focus();
      }
}).attr('readonly', 'readonly');

JS Fiddle

person Dhaval Marthak    schedule 08.04.2014

Просто унищожете инструмента за избор на дата, когато промените входа на само за четене:

$(".datepicker").datepicker("destroy").prop("readonly", true);

Демо #1

Като алтернатива можете да скриете задействането на изображението:

$(".datepicker").prop("readonly", true).next("img").hide();

Демо #2

За задействане на бутон можете просто да го деактивирате:

$(".datepicker").prop("readonly", true).next("button").prop("disabled", true);

Демо #3

person Salman A    schedule 08.04.2014