我有文本框與datepicker。根據我的要求,用戶必須選擇本月的第二個星期二或第二個星期二。所以我使用下面的代碼禁用了其餘的日期,並且它的工作正常。禁用文本框輸入值
var dates_allowed = {
'2012-07-24': 1,
'2012-08-14': 1,
'2012-08-21': 1,
'2012-09-11': 1,
'2012-09-18': 1,
'2012-10-09': 1,
'2012-10-16': 1
};
$("#" + webinarDate.id).datepicker({
// called for every date before it is displayed
beforeShowDay: function(date) {
// prepend values lower than 10 with 0
function addZero(no) {
if (no < 10){
return "0" + no;
} else {
return no;
}
}
var date_str = [
addZero(date.getFullYear()),
addZero(date.getMonth() + 1),
addZero(date.getDate())
].join('-');
if (dates_allowed[date_str]) {
return [true, 'good_date', 'This date is selectable'];
} else {
return [false, 'bad_date', 'This date is NOT selectable'];
}
}
});
但問題是用戶可以在文本框中輸入日期而不是使用datepicker(我不希望那樣)。如何限制用戶從datepicker中選擇日期,而不是手動輸入。我希望你明白..
您必須使用日期選擇器?如果唯一的選擇是本月的第一個或第二個星期二,也許下拉是一個更好的選擇? – 2012-07-24 15:34:05
注意:您還需要確保您有服務器端驗證來檢查值,而不是純粹依靠被禁用的字段。 – Amalea 2012-07-24 15:35:33
@TheZ「disabled」文本框不會在POST上發送,因此readonly是正確的選擇。 – Amalea 2012-07-24 15:36:24