Vì vậy, đây là giải pháp của tôi (tương tự như câu trả lời của John Vance):
Đầu tiên, hãy truy cập vào đây và nhận một chức năng để phát hiện trình duyệt di động.
http://detectmobileb Browse.com/
Họ có nhiều cách khác nhau để phát hiện xem bạn có đang sử dụng thiết bị di động hay không, vì vậy hãy tìm một cách phù hợp với những gì bạn đang sử dụng.
Trang HTML của bạn (mã giả):
If Mobile Then
<input id="selling-date" type="date" placeholder="YYYY-MM-DD" max="2999-12-31" min="2010-01-01" value="2015-01-01" />
else
<input id="selling-date" type="text" class="date-picker" readonly="readonly" placeholder="YYYY-MM-DD" max="2999-12-31" min="2010-01-01" value="2015-01-01" />
JQuery:
$( ".date-picker" ).each(function() {
var min = $( this ).attr("min");
var max = $( this ).attr("max");
$( this ).datepicker({
dateFormat: "yy-mm-dd",
minDate: min,
maxDate: max
});
});
Bằng cách này, bạn vẫn có thể sử dụng công cụ chọn ngày gốc trên thiết bị di động trong khi vẫn đặt ngày tối thiểu và ngày tối đa theo cách này.
Trường không dành cho thiết bị di động chỉ nên được đọc vì nếu trình duyệt di động như chrome for ios "yêu cầu phiên bản dành cho máy tính để bàn" thì chúng có thể kiểm tra thiết bị di động và bạn vẫn muốn ngăn bàn phím hiển thị.
Tuy nhiên, nếu trường chỉ được đọc, nó có thể trông người dùng giống như họ không thể thay đổi trường. Bạn có thể khắc phục điều này bằng cách thay đổi CSS để làm cho nó trông giống như nó không chỉ đọc (tức là thay đổi màu đường viền thành màu đen) nhưng trừ khi bạn đang thay đổi CSS cho tất cả các thẻ đầu vào, bạn sẽ khó giữ giao diện nhất quán. các trình duyệt.
Để có được arround, tôi chỉ cần thêm một nút hình ảnh lịch vào bộ chọn ngày. Chỉ cần thay đổi mã JQuery của bạn một chút:
$( ".date-picker" ).each(function() {
var min = $( this ).attr("min");
var max = $( this ).attr("max");
$( this ).datepicker({
dateFormat: "yy-mm-dd",
minDate: min,
maxDate: max,
showOn: "both",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
buttonText: "Select date"
});
});
Lưu ý: bạn sẽ phải tìm một hình ảnh phù hợp.