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에서 날짜를 선택하도록 사용자를 제한하는 방법. 나는 당신이 이해하기를 바랍니다.
사용합니다 데이트 피커? 유일한 선택 사항이 매월 1 일 또는 2 일 화요일이면 드롭 다운이 더 나은 선택 일 수 있습니까? –
참고 : 값을 확인하고 사용하지 않도록 설정된 필드에만 의존하지 않도록 서버 측 유효성 검사를 수행해야합니다. – Amalea
@TheZ "disabled"텍스트 상자는 POST에서 보내지지 않으므로 읽기 전용이 올바른 선택입니다. – Amalea