jQuery datepicker,禁用月份选择
嗨,我敢肯定必须有一个简单的方法来做到这一点,但找不到任何地方设置它的选项。
我正在尝试禁用允许用户更改月份的左/右按钮。 我删除了几个月的下拉列表,但无法摆脱按钮。
$("#date").datepicker({ changeMonth: false, changeYear: false, dateFormat: 'dd/mm/yy', duration: 'fast' });
您可以使用stepMonths
有效地禁用它们,使它们在单击时无处stepMonths
,如下所示:
$("#date").datepicker({ changeMonth: false, changeYear: false, dateFormat: 'dd/mm/yy', duration: 'fast', stepMonths: 0 });
你可以在这里尝试一下
或者,你可以删除这样的按钮:
$("#date").datepicker({ changeMonth: false, changeYear: false, dateFormat: 'dd/mm/yy', duration: 'fast' }).focus(function() { $(".ui-datepicker-prev, .ui-datepicker-next").remove(); });
你可以在这里尝试一下 ,这是有效的,因为默认的showOn
选项是focus
,如果你使用的是另一个事件,只需在.datepicker()
调用之后绑定它(所以它的事件首先运行,你无法隐藏什么还没有创造)。
上述解决方案对我不起作用,我开发了这个:
$('#datepicker').find('.ui-datepicker-next').remove(); $('#datepicker').find('.ui-datepicker-prev').remove();
这是我使用datepicker选择年份的方法:
if (document.styleSheets[0].addRule) { document.styleSheets[0].addRule(".ui-datepicker-calendar", "display: none;"); else { document.styleSheets[0].insertRule(".ui-datepicker-calendar {display: none;}", 0); } .datepicker({ dateFormat: 'yy', showMonthAfterYear: false, changeMonth: false, changeYear: true, showButtonPanel: true, stepMonths: 12, monthNames: ["", "", "", "", "", "", "", "", "", "", "", "", "", ""], onChangeMonthYear: function (year) { $(this).val(year); } });
我不知道如何直接在jQuery中(或者如果可能的话)。
但是如果你在那里找不到办法,你可以随时隐藏css中的按钮。
你想要的css选择器是(从内存中你可能需要检查)
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { display:none; }
- 在$(document).ready()中包含外部jQuery文件
- 406不可接受:Spring 3.2 + JSON + AJAX
- 如何知道jQuery和PHP中的返回数据是Json还是String?
- Flask Google Maps API自动完成Jquery无法识别
- 试图从MVC控制器获取JSON并获取错误网:: ERR_INCOMPLETE_CHUNKED_ENCODING
- jQuery .show(’slide’,{direction:’right’})不起作用,但.show(’slide’)确实有效
- Reveal Modal中的Google Map API未完全显示
- jQuery 1.7.1 – 文本输入的’值’未在Firebug Inspect元素中更新,但在屏幕上
- Windows Phone 7 – 没有jQuery ajax调用的发布数据