简体   繁体   English

如何从 JQuery 中的日期选择器中删除今天的按钮?

[英]How to remove todays button from datepicker in JQuery?

I am new in jquery.我是 jquery 的新手。 I want to remove todays button from datepicker in Jquery.我想从 Jquery 的 datepicker 中删除今天的按钮。 How to do that?怎么做? I am using Jquery ui 1.8.10.我正在使用 Jquery ui 1.8.10。

Regards, Girish问候, 吉里什

在您的 css 文件中使用此样式

button.ui-datepicker-current { display: none; }

I have this:我有这个:

$(".datepicker").datepicker({
        dateFormat: "yy-mm-dd",
        changeMonth: true,
        changeYear: true,
        yearRange: "c-150:c+30",
        showButtonPanel:true,
        closeText:'Clear',
        beforeShow: function( input ) {
            setTimeout(function () {
                $(input).datepicker("widget").find(".ui-datepicker-current").hide();
                var clearButton = $(input ).datepicker( "widget" ).find( ".ui-datepicker-close" );
                clearButton.unbind("click").bind("click",function(){$.datepicker._clearDate( input );});
            }, 1 );
        }
}).attr("readonly", true);

the line :该行:

$(input).datepicker("widget").find(".ui-datepicker-current").hide();

hide the today button隐藏今天按钮

Working example on jsfiddle jsfiddle 上的工作示例

Read more on docs.jquery.comdocs.jquery.com上阅读更多信息

 $(document).ready(function() { $("#datepicker").datepicker({ "showButtonPanel": false }); });
 <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/base/jquery-ui.css" type="text/css" media="all" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js" type="text/javascript"></script> <input type="text" id="datepicker"/>

你可以用css隐藏它

button.ui-datepicker-current { display: none; }

You can remove the button by setting the showButtonPanel to false, but this will remove all buttons.您可以通过将showButtonPanel设置为 false 来删除按钮,但这会删除所有按钮。 If you want to just remove the Today button, then you can use this snippet of code:如果您只想删除Today按钮,那么您可以使用以下代码片段:

$('<style type="text/css"> .ui-datepicker-current { display: none; } </style>').appendTo("head");

This will append a style rule to your page that will set the Today button to have a display of none thereby hiding the button.这会将样式规则附加到您的页面,该规则会将“ Today按钮设置为无显示,从而隐藏该按钮。

Credit to goes to JQuery DatePicker Tweaks and jquery create css rule / class @ runtime for the answer.归功于 JQuery DatePicker Tweaksjquery create css rule / class @ runtime的答案。

您可以使用 showButtonPanel 选项删除或显示日期选择器中的按钮

$( ".selector" ).datepicker({ showButtonPanel: true });

To remove the today button add this line to like below:要删除今天按钮,请将此行添加到如下所示:

$('#sandbox-datepicker').datepicker({
        todayBtn: false 
    });
$('.timecalender').datepicker({
                dateFormat: 'yy-mm-dd',
                timeFormat: 'H:mm',
                buttonText: 'Select Date',
                showsTime: true,
                timeOnly: true,
            }).focus(function () {
                $(".ui-datepicker-current").hide();
            });

Here an example:这里有一个例子:

<script>
  $(document).ready(function() {
    $("#DATETIME_START").Zebra_DatePicker({
      format: "Y-m-d H:i:s",
      show_select_today: false
    });
  });
</script>

this worked for me Hope it helps!这对我有用希望它有帮助! :) :)

I had the same problem and, after a day of research, I came up with this solution: http://jsfiddle.net/konstantc/4jkef3a1/我有同样的问题,经过一天的研究,我想出了这个解决方案:http: //jsfiddle.net/konstantc/4jkef3a1/

 // *** (month and year only) *** $(function() { $('#datepicker1').datepicker( { yearRange: "c-100:c", changeMonth: true, changeYear: true, showButtonPanel: true, closeText:'Select', currentText: 'This year', onClose: function(dateText, inst) { var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val(); var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val(); $(this).val($.datepicker.formatDate('MM yy (M y) (mm/y)', new Date(year, month, 1))); } }).focus(function () { $(".ui-datepicker-calendar").hide(); $(".ui-datepicker-current").hide(); $("#ui-datepicker-div").position({ my: "left top", at: "left bottom", of: $(this) }); }).attr("readonly", false); }); // -------------------------------- // *** (year only) *** $(function() { $('#datepicker2').datepicker( { yearRange: "c-100:c", changeMonth: false, changeYear: true, showButtonPanel: true, closeText:'Select', currentText: 'This year', onClose: function(dateText, inst) { var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val(); $(this).val($.datepicker.formatDate('yy', new Date(year, 1, 1))); } }).focus(function () { $(".ui-datepicker-month").hide(); $(".ui-datepicker-calendar").hide(); $(".ui-datepicker-current").hide(); $(".ui-datepicker-prev").hide(); $(".ui-datepicker-next").hide(); $("#ui-datepicker-div").position({ my: "left top", at: "left bottom", of: $(this) }); }).attr("readonly", false); }); // -------------------------------- // *** (year only, no controls) *** $(function() { $('#datepicker3').datepicker( { dateFormat: "yy", yearRange: "c-100:c", changeMonth: false, changeYear: true, showButtonPanel: false, closeText:'Select', currentText: 'This year', onClose: function(dateText, inst) { var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val(); $(this).val($.datepicker.formatDate('yy', new Date(year, 1, 1))); }, onChangeMonthYear : function () { $(this).datepicker( "hide" ); } }).focus(function () { $(".ui-datepicker-month").hide(); $(".ui-datepicker-calendar").hide(); $(".ui-datepicker-current").hide(); $(".ui-datepicker-prev").hide(); $(".ui-datepicker-next").hide(); $("#ui-datepicker-div").position({ my: "left top", at: "left bottom", of: $(this) }); }).attr("readonly", false); }); // --------------------------------
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" /> <div class="container"> <h2 class="font-weight-light text-lg-left mt-4 mb-0"><b>jQuery UI Datepicker</b> custom select</h2> <hr class="mt-2 mb-3"> <div class="row text-lg-left"> <div class="col-12"> <form> <div class="form-label-group"> <label for="datepicker1">(month and year only : <code>id="datepicker1"</code> )</label> <input type="text" class="form-control" id="datepicker1" placeholder="(month and year only)" /> </div> <hr /> <div class="form-label-group"> <label for="datepicker2">(year only : <code>input id="datepicker2"</code> )</label> <input type="text" class="form-control" id="datepicker2" placeholder="(year only)" /> </div> <hr /> <div class="form-label-group"> <label for="datepicker3">(year only, no controls : <code>input id="datepicker3"</code> )</label> <input type="text" class="form-control" id="datepicker3" placeholder="(year only, no controls)" /> </div> </form> </div> </div> </div>

I know this question is pretty old but I thought that my solution can be of use to others that encounter this problem.我知道这个问题已经很老了,但我认为我的解决方案可以对遇到这个问题的其他人有用。 Hope it helps.希望能帮助到你。

check this out minDate you can implement it like this看看这个minDate你可以像这样实现它

$( ".selector" ).datepicker({ minDate: new Date(2007, 1 - 1, 1) });

just put today's date as the minDate then it will exclude today's date只需将今天的日期作为 minDate 然后它将排除今天的日期

you can select the appropriate date format您可以选择适当的日期格式

$( ".selector" ).datepicker({ dateFormat: 'yy-mm-dd' });

if you do not want you can remove dd from above This might help you !!如果你不想,你可以从上面删除 dd可能对你有帮助!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM