jQuery UI Datepicker - 自定义按钮 - 自定义文本

时间:2013-08-22 11:10:32

标签: javascript jquery jquery-ui calendar datepicker

我需要在jQuery UI Datepicker中添加一个自定义按钮,当用户单击该按钮时,设置一个值来输入(一串文本)并关闭弹出窗口。可能吗?

小提琴示例:http://jsfiddle.net/7Wygg/

showButtonPanel: true,
beforeShow: function (input) {
    setTimeout(function () {
        var buttonPane = $(input)
            .datepicker("widget")
            .find(".ui-datepicker-buttonpane");

        var btn = $('<button class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" type="button">Custom</button>');
        btn.unbind("click")
        .bind("click", function () {
            //$.datepicker._clearDate(input);
            alert('custom text');
        });

        btn.appendTo(buttonPane);

    }, 1);
}

谢谢。

2 个答案:

答案 0 :(得分:7)

由于评论而修改的答案

你的意思是这样的:http://jsfiddle.net/7Wygg/10/

我刚刚添加了

$(input).datepicker("hide");
$(input).val("custom text");

答案 1 :(得分:2)

设置演示版HERE,在 datepicker中,我们可以像设置日期一样设置日期

$(function() {
$(".datepicker").datepicker({
    showButtonPanel: true,
    beforeShow: function (input) {
        setTimeout(function () {
            var buttonPane = $(input)
                .datepicker("widget")
                .find(".ui-datepicker-buttonpane");

            var btn = $('<button class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" type="button">Custom</button>');
            btn.unbind("click")
            .bind("click", function () {
                //$.datepicker._clearDate(input);
                alert('custom text');
                $(".datepicker").datepicker( "hide" );
                $( ".datepicker" ).datepicker( "setDate", "19/12/2003" );// here in cutom we can set date like pattern not any other

            });

            btn.appendTo(buttonPane);

        }, 1);
    }
});
});