如何动态改变jquery日期选择器样式
How to change jquery datepicker style dynamically
我正在与动态更改样式的jquery日期拾取器作斗争。我想做的是,如果复选框被点击,那么日期选择器只显示年和月,如果没有,日期选择器正常工作与年,月和日期。
我写了下面的脚本。我可以看到下面的脚本被触发,并没有显示任何问题,但它没有工作。
如果有人知道是什么问题,请帮助我。那太好了,谢谢。===== edit =====
根据Barmar的建议,我可以动态地改变dateFormat。但我仍然无法切换显示日期选择器的日历部分我正在尝试$(".ui-datepicker-calendar").css({ "display": "none" });
和$(".ui-datepicker-calendar").css({ "display": "inline-block" });
有人知道这个问题的解决方案吗?
function addEventCheckBox() {
$("#checkBoxForFlag").live("click", function(e) {
changeDatePicker();
});
}
function changeDatePicker() {
var flag = $("#checkBoxForFlag").is(":checked");
if (flag) {
$("#testDate").datepicker("option", {
dateFormat: "yy/mm"
});
$(".ui-datepicker-calendar").css({ "display": "none" });
} else {
$("#testDate").datepicker("option", {
dateFormat: 'yy/mm/dd',
});
$(".ui-datepicker-calendar").css({ "display": "inline-block" });
}
}
.datepicker(<options>)
函数只能用于初始化一个新的日期选择器。要更改现有的日期选择器,请使用option
方法。你可以给出一个包含你要修改的选项的对象,也可以只给出一个选项作为一个参数。
function changeDatePicker() {
var flag = $("#checkBoxForFlag").is(":checked");
if (flag) {
$("#testDate").datepicker("option", "dateFormat", "yy/mm");
$(".ui-datepicker-calendar").hide();
} else {
$("#testDate").datepicker("option", "dateFormat", "yy/mm/dd");
$(".ui-datepicker-calendar").show();
}
}
经过一些实验尝试,我解决了这个问题。所以我把解决方案写在这里,给那些可能有同样问题的人。
function changeDatePicker() {
var flag = $("#checkBoxForFlag").is(":checked");
if (flag) {
$("#testDate").datepicker("destroy");
$("#testDate").datepicker({
showOn: "both",
buttonImageOnly: false,
dateFormat: "yy/mm",
changeMonth: true,
changeYear: true,
maxDate: 0,
buttonText: "",
onClose: function () {
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));
}
});
$("#testDate").focus(function () {
$(".ui-datepicker-calendar").hide();
$("#ui-datepicker-div").position({
my: "center top",
at: "center bottom",
of: $(this)
});
});
$("#testDate").blur(function () {
$(".ui-datepicker-calendar").hide();
});
} else {
$("#testDate").datepicker("destroy");
$("#testDate").datepicker({
showOn: "both",
buttonImageOnly: false,
dateFormat: userDateFormat_datepicker,
changeMonth: true,
changeYear: true,
showButtonPanel: true,
maxDate: 0,
buttonText: ""
});
$("#testDate").focus(function () {
$(".ui-datepicker-calendar").show();
});
$("#testDate").blur(function () {
$(".ui-datepicker-calendar").show();
});
}
}
相关文章:
- jquery日期选择器年份范围默认值
- jquery日期选择器失去了交互性
- jquery日期选择器显示与值不同的文本
- javascript和jquery日期格式转换
- 按数字数组禁用天数jquery日期选择器
- jQuery日期选择器在Codeigniter和Bootsrap模式表单中不起作用
- JQuery日期选择器在IE 7上不起作用
- 使用数组表示法对多个字段执行jQuery日期选择器
- jQuery日期时间选择器-如何在javascript中获取日期
- 如何更改Pickmeup jquery日期选择器格式
- jQuery日期[时间]选择器-如何保存时间范围(+修改日期格式)
- 如何从jquery日期和时间选择器中选择和显示数据
- Jquery日期计算JQUERY4U
- 如何在jQuery日期时间选择器中添加12小时格式
- Jquery 日期时间选取器错误
- 使用 jQuery 日期选择器和 Angular 2 更改事件
- 如何在 jQuery 日期选择器 UI 中阻止多个日期范围
- 几个jQuery日期选择器小部件,只向其中一个添加类
- jQuery 日期选取器未显示
- asp.net jquery 日期选择器不起作用