我正在为datepicker小部件jquery ui使用dateTimepicker插件。
现在我想添加jalali Calendar支持。
当然会编写一个替换和自定义版本的datepicker jquery ui,您可以在jalali date picker看到。
效果很好但是当我使用 datetimepicker 和 jalali日期选择器时,会出现问题。
如果你知道,在jalali日历和格里高利历中,日月长度有些差异。例如,Gregorian的 2月月(第2个月)有28天,而 Ordibehesh (jalali的第2个月)有31天。
将jalali datepicker和datetimepicker连接到页面并调用dateTimepicker插件提供的 datetimepicker 时,显示的日期是正确的但是点击(选择)日期(jalali的第2个月),例如Thirtieth一天,第三个jalali月的第二天(名为khordad)被退回,为什么?因为二月有28个月。
这是我所描述的一个小说:
$(document).ready(function () {
$(".datePicker").each(function () {
$(this).datetimepicker({
dateFormat: 'dd MM yy',
altFieldTimeOnly: false,
timeFormat: "HH:mm",
altFormat: 'dd/mm/yy',
separator: " ",
altSeparator: " ",
altField: $(this).next('.hiddenField'),
stepMinute: 5
});
});
});

<link href="https://code.jquery.com/ui/1.12.0-rc.2/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery-ui-timepicker-addon/1.6.1/jquery-ui-timepicker-addon.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/jquery-migrate-1.4.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
<script src="https://dl.dropboxusercontent.com/u/24987834/calendar.js"></script>
<script src="https://dl.dropboxusercontent.com/u/24987834/jquery.ui.datepicker-cc.js"></script>
<script src="https://dl.dropboxusercontent.com/u/24987834/jquery.ui.datepicker-cc-fa.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ui-timepicker-addon/1.6.1/jquery-ui-timepicker-addon.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ui-timepicker-addon/1.6.1/i18n/jquery-ui-timepicker-fa.js"></script>
<input id="start_date_picker" class="datePicker form-control from" targetTo="#end_date_picker" name="start_date_picker" type="text" style="direction:rtl">
<input class="hiddenField" name="start_date" type="hidden">
&#13;
我认为附加到datetimepicker的点击事件在这里有问题。
答案 0 :(得分:2)
经过数小时的搜索和检查 jquery-ui-timepicker-addon.js 和 Jalali datepicker jquery ui 我发现只需将所有new Date()
替换为{ {1}}(预计第262行),解决问题。