按钮在jQuery datepicker中的位置

时间:2018-06-06 10:59:17

标签: jquery datepicker jquery-ui-datepicker

我搜索了很多,找不到问题的答案。

我在jQuery DatePicker中启用了按钮面板,但现在想知道是否可以更改按钮的位置?我需要一个“今天”和“昨天”按钮。

我已经为“昨天”编写了自定义按钮的代码,但有没有办法改变它的位置?

我需要做的是按“昨天今天完成”的顺序按钮。目前,这里显示的是screenshot

我已经尝试为“今天”编写自定义按钮的代码,但它仍然没有正确定位,最重要的是,我似乎无法找到隐藏默认按钮的方法在buttonPanel。

我的datepicker代码如下 - JSFiddle

var options={
        format: 'dd/mm/yyyy',
        container: container,
        todayHighlight: true,
        autoclose: true,
        beforeShow: function (input) { 
            //dpClearButton(input);    
            dpMaxButton(input); 

        },
        showButtonPanel: true,
        beforeShow: function (input) { 
            //dpClearButton(input);    
            dpMaxButton(input); 

        },

        onChangeMonthYear: function (yy, mm, inst) { 

            dpMaxButton(inst.input); 
        }
    };

    function dpMaxButton (input) {
        setTimeout(function () {
            var d = new Date();
            var yesterday = new Date((new Date()).valueOf() - 1000*60*60*24);
            //alert (yesterday);
            var buttonPane = $(input)
            .datepicker("widget")
            .find(".ui-datepicker-buttonpane");
            $("<button>", {
                text: "Yesterday",
                click: function () { 
                     jQuery(input).datepicker('setDate', yesterday);   
                     jQuery(input).datepicker('hide'); }
            }).appendTo(buttonPane).addClass("ui-datepicker-clear ui-state-default ui-priority-primary ui-corner-all");
        }, 1)
    };

    date_input.datepicker(options);

    $.datepicker._gotoToday = function(id) { 
        $(id).datepicker('setDate', new Date()).datepicker('hide').blur(); 
    };

1 个答案:

答案 0 :(得分:1)

我已更新代码:

http://jsfiddle.net/7Wygg/516/

首先添加了css

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{
  float:none !important;
}
.pull-left{
  float:left !important;
}

JS:

$(function() {
$(".datepicker").datepicker({
    showButtonPanel: true,
    beforeShow: function (input) { 
                //dpClearButton(input);    
                dpMaxButton(input); 

            },
      onChangeMonthYear: function (yy, mm, inst) { 

                dpMaxButton(inst.input); 
            }
});
function dpMaxButton (input) {
            setTimeout(function () {
                var d = new Date();
                var yesterday = new Date((new Date()).valueOf() - 1000*60*60*24);
                //alert (yesterday);
                var buttonPane = $(input)
                .datepicker("widget")
                .find(".ui-datepicker-buttonpane");
                $("<button>", {
                    text: "Yesterday",
                    click: function () { 
                         jQuery(input).datepicker('setDate', yesterday);   
                         jQuery(input).datepicker('hide'); }
                }).appendTo(buttonPane).addClass("ui-datepicker-clear ui-state-default ui-priority-primary ui-corner-all pull-left");
            }, 1)
        }
    $.datepicker._gotoToday = function(id) { 
            $(id).datepicker('setDate', new Date()).datepicker('hide').blur(); 
        };
});