1

问题

我正在尝试根据使用 JS 的用户输入来生成事件。除了日期之外,它生成的一切都很好。我想要以下日期格式24/07/2013但是当用户选择小于或等于 12的日期时,它会将日期与月份交换。例如:如果用户选择了今天的日期,即01/07/2013它显示为07/01/2013

我已经粘贴了下面的代码,任何帮助将非常感谢。

外部 JS 文件的链接

复发.js

原型.js

页面代码

                jQuery(document).ready(function($) {
                jQuery(function() {
                    var dates = jQuery( "#start, #until" ).datepicker({
                        //defaultDate: "+1w",
                        changeMonth: true,
                        changeYear: true,
                        numberOfMonths: 1,
                        dateFormat:"dd/mm/yy",
                        minDate:1,
                        onSelect: function( selectedDate ) {
                            var option = this.id == "start" ? "minDate" : "maxDate",
                            instance = jQuery( this ).data( "datepicker" ),
                            date = jQuery.datepicker.parseDate(
                            instance.settings.dateFormat ||
                                jQuery.datepicker._defaults.dateFormat,
                            selectedDate, instance.settings );
                            dates.not( this ).datepicker( "option", option, date );
                        }
                    });
                });

                function generate_recurrence () {
                var pattern = {};

                // gather pattern
                ['start', 'every', 'unit', 'end_condition', 'until', 'rfor', 'nth', 'occurrence_of', 'radioSelection', 'indefinate'].each(function(k) {
                    pattern[k] = $(k).value;
                });

                // gather selected days
                pattern.days = $$('input.week_days').collect(function(d) {
                    if (d.checked) return d.value;
                    return null;
                }).compact();

                try {
                    var r = new Recurrence(pattern);
                    var dates = r.generate((this.value == '') ? undefined : this.value);
                } catch (e) {
                    $('output').value = e.message;
                    return;
                }

                // $('output').value = "long:\n" + r.describe() + "\n\n";
                $('frequency_summary').innerHTML = r.describe();
                // compact description. next version.
                $('kunal_frequency_sam').value =r.describe();

                $('output').value = dates.collect(function(d) {
                    return d.toString('dd/MM/yyyy');
                }).join("|");



            }


            document.observe('dom:loaded', function ( ) {
                $('end_condition').observe('change', function () {
                    $$('#for_span, #until_span, #never_span').invoke('hide');
                    $(this.value + '_span').show();
                });

                $('unit').observe('change', function () {
                    $$('#week_span, #month_span').invoke('hide');
                    if (this.value == 'w') $('week_span').show();
                    if (this.value == 'm') $('month_span').show();
                });


                $('radioSelection').observe('change', function () {
                    $$('#weekdate, #weekday').invoke('hide');
                    if (this.value == 'weekdate') $('weekdate').show();
                    if (this.value == 'weekday') $('weekday').show();
                });

                $$('button').invoke('observe', 'click', generate_recurrence);
            });
4

0 回答 0