Удалить кнопки по умолчанию из панели кнопок в DatePicker - PullRequest
1 голос
/ 01 декабря 2011

Я хочу сохранить панель кнопок, но мне не нужны кнопки «Сегодня» или «Готово»

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 ]

4 голосов
/ 01 декабря 2011

UPDATE

видимо, решение, которое я предоставил, устарело. Пожалуйста, смотрите ответ ниже для рабочего исправления: https://stackoverflow.com/a/24806307/959041


Вы должны добавить опцию

showButtonPanel: false

так что у вас есть

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

UPDATE

чтобы удалить кнопки, но можно добавить другие кнопки, вы можете использовать событие beforeShow. Итак, у вас есть что-то вроде

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

см. http://jqueryui.com/demos/datepicker/#buttonbar для документации

1 голос
/ 17 июля 2014

Я только что взял предыдущий ответ и нашел, как заставить его работать, но это выглядит некрасиво.

По сути, я добавил 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/

...