我希望用户可以选择特定日期,或者可以填写“xyz”。我尝试过使用constrainInput = false
,但允许用户输入任何内容。我只希望用户只能编写或选择“xyz”。
问问题
2616 次
2 回答
0
您可以测试日期输入值:
$('#datepicker').datepicker({
constrainInput: false,
dateFormat: "dd/mm/yy"
}).on("change", function () {
// Accepts xyz as the value
if ($(this).val() == "xyz")
return true;
// Accepts just valid dates as the value
var comp = $(this).val().split('/');
var m = parseInt(comp[0], 10);
var d = parseInt(comp[1], 10);
var y = parseInt(comp[2], 10);
var date = new Date(y,m-1,d);
if (date.getFullYear() == y && date.getMonth() + 1 == m && date.getDate() == d)
return true;
alert("Wrong");
});
测试:http: //jsfiddle.net/sFBn2/9/
于 2013-09-05T10:53:45.860 回答
0
如果您只想选择一天,为什么不禁用该字段上的输入并仅使用日期选择器,而日期选择仅限于它呢?
禁用字段使用readonly
输入属性,日期选择器日期限制使用该beforeShowDay
功能。
HTML:
<input type='text' id='foo' readonly='true'>
jQuery:
$('#foo').datepicker({
constrainInput: false,
dateFormat: "dd/mm/yy",
beforeShowDay: function (date) {
var today=new Date();
if (date.getDate() == today.getDate()) {
return [true, ''];
}
return [false, ''];
}
});
演示:http: //jsfiddle.net/IrvinDominin/qdBkZ/
于 2013-09-05T11:03:02.837 回答