从datepicker中的Button Panel中删除默认按钮

时间:2011-12-01 19:04:48

标签: jquery jquery-ui-datepicker

我想保留按钮面板,但我不想要“今天”或“完成”按钮

jquery的:

$(document).ready(function () {
       $(".datepicker").datepicker({
            showOn: "button",
            buttonText: "Date",
            showButtonPanel: true
        });
});

HTML:

<div>
    <label for="start">Start</label>
    <input id="start" type="text" class="datepicker"/>
</div>

<div>
    <label for="end">End</label>
    <input id="end" type="text" class="datepicker"/>
</div>

2 个答案:

答案 0 :(得分:5)

你应该添加选项

showButtonPanel: false

所以你有

$("#test").datepicker({
    showButtonPanel: false
});

<强>更新

删除按钮但能够添加其他按钮,您可以使用beforeShow事件。所以你有类似

的东西
$("#test").datepicker({
    beforeShow: function() {
        $(".ui-datepicker-buttonpane")
            .html('')
            .append("<button>new button</button>");
    }
});

请参阅http://jqueryui.com/demos/datepicker/#buttonbar了解文档

答案 1 :(得分:0)

我刚接受了之前的回答,并找到了如何使其工作,但这看起来很难看。

基本上我添加的是setTimeout,因为看起来按钮窗格的内容在beforeShow事件之后呈现:

$('.datepicker').datepicker({
    showOn: 'button',
    buttonText: 'Date',
    showButtonPanel: true,
    beforeShow: function (){
        setTimeout(function() {
         $(".ui-datepicker-buttonpane")
            .html('')
            .append("<button>new button</button>");
        }, 1)
    }
});

http://jsfiddle.net/zEper/278/