این افزونه، ترکیبی است از روش جلالیسازی تقویم جکوئری در اینجا توسط مهدی هاشمینژاد و افزونهی TimePicker توسط Trent Richardson در اینجا. کلیت کار همان است که در پست هاشمینژاد آمده است و من به جز چند اصلاح کوچک در افزونهی TimePicker و اعمال تغییرات بر نسخهی 1.9.2 افزونهی TimePicker جکوئری به عنوان آخرین نسخهی موجود از سری یک، کاری نکردهام. به رسم خوب آقای هاشمینژاد، تمامی تغییرات اعمالی بر افزونهها، با توضیحگذاری [CC] مشخص شدهاند.
در مورد این پلاگین میتوانید در اینجا بیشتر بخوانید. پیشنهاد من برای استفاده به این صورت است که اگر
این افزونه تحت مجوز MIT منتشر میشود. یک نسخه از اجازهنامهی مذکور را میتوانید در اینجا ببینید.
$('#basic_example_1').datetimepicker();
$('#basic_example_2').timepicker();
$('#basic_example_3').datetimepicker({
timeFormat: "hh:mm tt"
});
$('#basic_example_4').timepicker(
$.timepicker.regional['tr']
);
$('#timezone_example_1').datetimepicker({
timeFormat: 'hh:mm tt z'
});
$('#timezone_example_2').datetimepicker({
timeFormat: 'HH:mm z',
timezoneList: [
{ value: -300, label: 'شرقی'},
{ value: -360, label: 'مرکزی' },
{ value: -420, label: 'کوهستانی' },
{ value: -480, label: 'جنوبی' }
]
});
$('#slider_example_1').timepicker({
hourGrid: 4,
minuteGrid: 10,
timeFormat: 'hh:mm tt'
});
$('#slider_example_2').datetimepicker({
timeFormat: 'HH:mm:ss',
stepHour: 2,
stepMinute: 10,
stepSecond: 10
});
در انتخاب زمان، به جای استفاده از لغزنده، از منوی انتخابی استفاده نمائید. همچنین در صورتی که لغزنده در دسترس نباشد، به جای لغزنده از منوی انتخابی استفاده خواهد شد.
$('#slider_example_4').datetimepicker({
controlType: 'select',
timeFormat: 'hh:mm tt'
});
$('#slider_example_4andHalf').datetimepicker({
controlType: 'select',
oneLine: true,
timeFormat: 'hh:mm tt'
});
شما میتوانید ابزارهای کنترلی موردنیاز خود را مطابق با سلیقهی خودتان و دیگر ابزارهای موجود، شخصیسازی کنید. پس از پیادهسازی شخصیسازیهای دلخواه خود، از $.timepicker.setDefaults({controlType:yourPleasuredCustomazation}) برای اعمال تغییرات استفاده کنید.
var myControl= {
create: function(tp_inst, obj, unit, val, min, max, step){
$('<input class="ui-timepicker-input" value="'+val+'" style="width:50%">')
.appendTo(obj)
.spinner({
min: min,
max: max,
step: step,
change: function(e,ui){ // key events
// don't call if api was used and not key press
if(e.originalEvent !== undefined)
tp_inst._onTimeChange();
tp_inst._onSelectHandler();
},
spin: function(e,ui){ // spin events
tp_inst.control.value(tp_inst, obj, unit, ui.value);
tp_inst._onTimeChange();
tp_inst._onSelectHandler();
}
});
return obj;
},
options: function(tp_inst, obj, unit, opts, val){
if(typeof(opts) == 'string' && val !== undefined)
return obj.find('.ui-timepicker-input').spinner(opts, val);
return obj.find('.ui-timepicker-input').spinner(opts);
},
value: function(tp_inst, obj, unit, val){
if(val !== undefined)
return obj.find('.ui-timepicker-input').spinner('value', val);
return obj.find('.ui-timepicker-input').spinner('value');
}
};
$('#slider_example_5').datetimepicker({
controlType: myControl
});
$('#rest_example_2').datetimepicker({
numberOfMonths: 2,
minDate: 0,
maxDate: 30
});
$('#alt_example_1').datetimepicker({
altField: "#alt_example_1_alt"
});
$('#alt_example_3').datetimepicker({
altField: "#alt_example_3_alt",
altFieldTimeOnly: false,
altFormat: "yy-mm-dd",
altTimeFormat: "h:m t",
altSeparator: " @ "
});
$('#alt_example_4').datetimepicker({
altField: "#alt_example_4_alt",
altFieldTimeOnly: false
});
برای دیدن کاربردها و نمونههای بیشتری از این افزونه، به صفحهی مثالهای افزونه اصلی، واقع در اینجا مراجعه نمائید.
مخزن افزونه در گیتهاب در اینجا در دسترس است و میتوان افزونه را از آن دانلود نمود. برای استفاده از افزونه، انجام مراحل زیر موردنیاز است: