2012-06-07 3 views
3

Я пытаюсь получить keytext datepicker (который по умолчанию используется для многоточия), чтобы установить себя как значение ввода.JqueryUI datepicker, buttontext как значение

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

Я попробовал - buttonText: $(this).val() как вариант, но он ничего не подобрать

Пример - http://jsbin.com/unolot/3/

Так что мой вопрос - Как я могу получить ButtonText входа Datepicker, чтобы соответствовать значение динамически?

+0

вы можете использовать опцию altfield в DatePicker api – Devjosh

+0

вы хотите, чтобы значение текстового поля стало подсказкой на значке? –

ответ

3

Вы должны обрабатывать два случая:

  • Когда выбранные изменения даты: используйте onSelect событие, чтобы изменить баттона название атрибута
  • На начальной визуализации: к сожалению, DatePicker не реализует виджет завод (пока), поэтому нет события create, вам придется обновить атрибут title вручную после инициализации виджета.

Не забудьте установить дату по умолчанию подборщика к исходному значению поля, в противном случае по умолчанию выбрана дата является «сегодня»

Что-то вроде этого:

// as you have several instances, loops through them 
$(".deadline_picker_on").each(function() { 

    var dt = $(this); 

    dt.datepicker({ 
     showOn: "button", 
     buttonText: '', 
     // set the default date to the value of the field 
     defaultDate: dt.val(), 
     duration: 100, 
     dateFormat: 'yy-mm-dd', 
     showOptions: { 
      direction: 'right' 
     }, 
     onSelect: function(dateText, inst) { 
      // on data selection, change the title attribute of the button 
      $(this).next().attr('title', dateText); 
     } 
    }) 
    // get the button (next element) 
    .next() 
    // set the title attribute with the formatted initial date from the picker 
    .attr('title', $.datepicker.formatDate('yy-mm-dd', dt.datepicker('getDate'))); 
}); 
​ 
+0

приятный, ура :) – Horse

Смежные вопросы