当我将日期选择器设为只读时,我看到用户无法在文本框中键入任何内容。但是,他们仍然可以使用日历图标更改值。如何隐藏日历图标,以便用户无法更改日期值?
我不想禁用日期选择器,因为我需要在提交表单时将值发布到服务器。
$(function () {
$(".datepicker").datepicker({
showOn: "button",
buttonImage: "../calendar/images/calendar.gif",
buttonImageOnly: true,
changeMonth: true,
changeYear: true,
onClose: function () {
$(this).focus();
}
});
});
没有这样的方法来做这些事情,但你可以通过以下几个方面:
您可以将允许的范围设置为某个无效范围,以便用户无法选择任何日期:
$(".datepicker").datepicker({
minDate: -1, // Add this one further
maxDate: -2, // Add this one further
showOn: "button",
buttonImage: "../calendar/images/calendar.gif",
buttonImageOnly: true,
changeMonth: true,
changeYear: true,
onClose: function () {
$(this).focus();
}
}).attr('readonly', 'readonly');
JS小提琴
只需在将输入更改为只读时销毁日期选择器:
$(".datepicker").datepicker("destroy").prop("readonly", true);
演示 #1
或者,您可以隐藏图像触发器:
$(".datepicker").prop("readonly", true).next("img").hide();
演示 #2
对于按钮触发器,您可以简单地禁用它:
$(".datepicker").prop("readonly", true).next("button").prop("disabled", true);
演示 #3