gpt4 book ai didi

javascript - 同一页面上的两个 jQuery 日期选择器具有不同的 CSS 样式

转载 作者:行者123 更新时间:2023-11-28 06:28:42 25 4
gpt4 key购买 nike

我正在尝试在同一页面上实现几个 jQuery 日期选择器,不同之处在于其中一个将是使用 jQuery UI DatePicker to show month year only 中建议的解决方案的月份选择器。 (或...http://jsfiddle.net/DBpJe/7722/)

重点是,如果我将以下 CSS 代码添加到隐藏选择日期的功能的 CSS 文件中...那么两个日历将隐藏选择日期的功能,而不仅仅是我需要的日期...看起来这是一种全有或全无的方法

.ui-datepicker-calendar {
display: none;
}

有没有办法可以区分普通日期选择器和我创建的自定义月份选择器(基于 jQuery 日期选择器)?

这是我的 HTML..

<input type="text" size="12" name="codeFlowDate" id="MyDate" class="text" />
<input type="text" size="12" name="codeFlowDate" id="MyMonth" class="text" />

这就是 JS

$(function() {
$('#MyDate').datepicker({
showOn: "button",
buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif",
buttonImageOnly: true,
//showButtonPanel: true,
maxDate: +0,
});
});

$(function() {
$('#MyMonth').datepicker({
showOn: "button",
buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif",
buttonImageOnly: true,
maxDate: +0,
dateFormat: "mm/yy",
changeMonth: true,
changeYear: true,
showButtonPanel: true,
onClose: function(dateText, inst) {
function isDonePressed() {
return ($('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1);
}

if (isDonePressed()) {
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1)).trigger('change');

$('.date-picker').focusout() //Added to remove focus from datepicker input box on selecting date
}
},
beforeShow: function(input, inst) {
inst.dpDiv.addClass('month_year_datepicker')

if ((datestr = $(this).val()).length > 0) {
year = datestr.substring(datestr.length - 4, datestr.length);
month = datestr.substring(0, 2);
$(this).datepicker('option', 'defaultDate', new Date(year, month - 1, 1));
$(this).datepicker('setDate', new Date(year, month - 1, 1));
$(".ui-datepicker-calendar").hide();
}
}
})
});

谢谢!

编辑看到回复后...

我已经在我的代码中添加了类似的内容,但什么也没发生......

$(function() {
$('#MyMonth').datepicker({
showOn: "button",
buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif",
buttonImageOnly: true,
maxDate: +0,
dateFormat: "mm/yy",
changeMonth: true,
changeYear: true,
showButtonPanel: true,
onClose: function(dateText, inst) {
function isDonePressed() {
return ($('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1);
}

if (isDonePressed()) {
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1)).trigger('change');

$('.date-picker').focusout() //Added to remove focus from datepicker input box on selecting date
}
},
beforeShow: function(input, inst) {
$('.ui-datepicker-calendar').removeClass();
}
})

我注意到 .ui-datepicker-calendar 在 HTML 中是这样定义的。

table class=ui-datepicker-calendar

最佳答案

使用选择器 #id .datepickerClass 不起作用,因为 datepicker div 是在输入外部创建的。您必须使用 beforeShow 为日历 div 设置一个类:

$('input').datepicker({
beforeShow: function(input, inst) {
$('#ui-datepicker-div').removeClass(function() {
return $('input').get(0).id;
});
$('#ui-datepicker-div').addClass(this.id);
}
});

看看这个 post

关于javascript - 同一页面上的两个 jQuery 日期选择器具有不同的 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34885264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com