Chỉ cần có một yêu cầu cho điều này; đây là mã tôi đã sử dụng. Áp dụng nó vào một đầu vào như bình thường, tôi đang sử dụng lớp typeof__multidatepicker
.
Nó duy trì danh sách các ngày duy nhất trong hộp văn bản chủ sở hữu. Bạn cũng có thể gõ vào đó, điều này không được xác nhận - rõ ràng máy chủ cần kiểm tra danh sách kết quả!
Tôi đã cố gắng làm cho nó hoạt động với hộp văn bản được liên kết của trình đặt ngày nhưng không thành công, vì vậy nó tạo ra đầu vào vô hình cho datepicker (nó dường như không hoạt động với display:none
, do đó tạo kiểu lạ).
Nó được định vị trên đầu vào chính để biểu tượng ngày xuất hiện ở đúng vị trí và rộng 1px để bạn vẫn có thể nhập vào hộp văn bản chính.
Dành cho mạng nội bộ có nền tảng cố định nên tôi chưa thực hiện nhiều thử nghiệm trên nhiều trình duyệt.
Hãy nhớ bao gồm trình xử lý trên body
hoặc hoạt động gây nhầm lẫn.
$('.typeof__multidatepicker').each(
function()
{
var _this = $(this);
var picker = $('<input tabindex="-1" style="position:absolute;opacity:0;width:1px" type="text"/>');
picker.insertAfter(this)
.position({my:'left top', at:'left top', of:this})
.datepicker({
beforeShow:
function()
{
_this.data('mdp-popped', true);
},
onClose:
function(dt, dpicker)
{
var date = $.datepicker.formatDate(picker.datepicker('option', 'dateFormat'), picker.datepicker('getDate'));
var hash = {};
var curr = _this.val() ? _this.val().split(/\s*,\s*/) : [];
var a = [];
$.each(curr,
function()
{
if(this != '' && !/^\s+$/.test(this))
{
a.push(this);
hash[this] = true;
}
}
);
if(date && !hash[date])
{
a.push(date);
_this.val(a.join(', '));
}
_this.data('mdp-popped', false);
_this.data('mdp-justclosed', true);
}
});
_this.on('focus',
function(e)
{
if(!_this.data('mdp-popped') && !_this.data('mdp-justclosed'))
_this.next().datepicker('show');
_this.data('mdp-justclosed', false);
}
);
}
);
$('body').on('click', function(e) { $('.typeof__multidatepicker').data('mdp-justclosed', false); });
Có một plugin hữu ích @ http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/ –
liên quan: http://stackoverflow.com/ câu hỏi/903628/jquery-ui-datepicker-có-nó-xử lý-nhiều-ngày –
cảm ơn :) điều này là tốt, mặc dù không chọn ngày nhiều – tarnfeld