JqueryUI datepicker,buttontext作为值

时间:2012-06-07 10:42:22

标签: jquery-ui datepicker

我试图获取datepicker的buttontext(默认为省略号),将自己设置为输入的值。

我在页面上有多个日期选择器,与下面的示例不同,我有一个图标而不是文本输入。我希望将值本身显示在将鼠标悬停在图标上时显示的工具提示中。

我已尝试过 - buttonText: $(this).val()作为选项,但它没有选择任何内容

示例 - http://jsbin.com/unolot/3/

所以我的问题 - 如何获取datepicker输入的buttontext以动态匹配该值?

1 个答案:

答案 0 :(得分:3)

您必须处理两种情况:

  • 当所选日期发生变化时:使用onSelect事件更改按钮的标题属性
  • 在初始渲染时:遗憾的是,日期选择器尚未实现小部件工厂(因为没有create事件,您必须在手动更新标题属性之后小部件已初始化。

不要忘记将选择器的默认日期设置为字段的初始值,否则默认选择的日期为“今天”

这样的事情:

// 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')));
});
​