Как назвать/связать jQuery datepicker к маркировке или отделению вместо поля ввода

Я уверен, что Don Box создал SOAP, поскольку шутка - 'смотрит, Вы можете методы RPC вызова по сети' и сегодня стонете, когда он понимает то, что чрезмерно увеличенный в размерах кошмар веб-стандартов это стало:-)

, REST хорош, прост, реализован везде (так больше 'стандарт', чем стандарты) быстрый и легкий. Используйте REST.

17
задан stringo0 11 August 2009 в 18:22
поделиться

4 ответа

Я не смотрел код, но подозреваю, что он предполагает, что он прикреплен к элементу .

Предположим, что у вас должен быть этот элемент.

Вы можете скрыть и взаимодействовать с datepicker через вызовы его методов из ваших событий ярлыка.

$(labelselector).click(function() {
    $(inputselector).datepicker('show');
});
17
ответ дан 30 November 2019 в 11:52
поделиться

Вы пытаетесь привязать его так, чтобы он отображался при щелчке или так, чтобы результаты заполняли метку или Div? Вы можете привязать его к скрытому текстовому полю, а затем привязать желаемые эффекты к событию change () этого скрытого поля.

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

            $("#alternate").click(function() {
                $("#datepicker").focus();
            });

        $("#datepicker").change(function() {
            $("#alternate").html($("#datepicker").val());
        });
    });

<input id="datepicker" style="display:none" /><label id="alternate">change me</label>

У меня это нормально работало в FireFox 3.5

6
ответ дан 30 November 2019 в 11:52
поделиться

re: проблема позиционирования:

Похоже, Datepicker устанавливает свою позицию абсолютно, основываясь на смещении элемента, на который он нацелен. К сожалению, элементы display: none не имеют смещения.

Два предлагаемых метода:

1) Установите положение, используя собственный метод datepicker и смещение объекта по вашему выбору. Попробуйте что-нибудь вроде:

offset = $('myinput').parent('label').offset();
$('#date-picker').dpSetOffset(offset.left, offset.top);

2) Попробуйте другой метод скрытия вашего ввода, например, opacity: 0 (и его эквивалент в IE, filter: alpha (opacity = x)). Еще одна вещь, которую можно попробовать, - это установить несколько стилей для уменьшения поля ввода, например:

.my_input {
  border: 0;
  line-height: 0;
  font-size: 0;
  height: 0;
  overflow: hidden;
 }

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

1
ответ дан 30 November 2019 в 11:52
поделиться

re: Проблема позиционирования

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

Для меня решением было сделать текстовое поле, в котором указатель даты прикреплен к . Это решило все проблемы для меня (я поместил скрытый элемент управления вводом непосредственно перед label так, чтобы смещение от элемента управления вводом было правильным для моей метки).

Примечательно, что установка обычного стиля элементов управления вводом на display: none, visibility: hidden и т. Д. Не работала.

Причина, по которой это решение сработало, связана с предложениями в источнике элемента управления datepicker, которые выполняют определенные функции, только если "type! =" Hidden ".

11
ответ дан 30 November 2019 в 11:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: