Изменить URL календаря при выборе / смене даты

#datepicker #jquery-ui-datepicker #uidatepicker

#выбор даты #jquery-пользовательский интерфейс-datepicker #uidatepicker

Вопрос:

Я искал и прочитал все, что смог найти по изменению / установке URL в datepicker, я пытался и пытался, но я не могу изменить URL календаря…

Ситуация:
В модальном окне просто с помощью CSS. У меня есть форма в модальном CSS3 pupup, в которой я запрашиваю дату отправления и дату окончания. Я предлагаю минимальную дату и максимальную дату и разрешаю пользователю изменять даты.

Проблема:
Если пользователь вызывает календарь, нажав на значок, чтобы изменить дату (минимальную или максимальную) и выбрать другую дату, модальное окно закрывается, оставляя календарь активным.
Вместо этого я ожидаю закрыть календарь и продолжить управлять полями формы в модальном окне, пока пользователь не нажмет на кнопку подтверждения.

это измененный скрипт, который я прочитал:

     enter code here
from = $( "#from" ).datepicker({
    showOn: "button",
    buttonImage: "images/calendar_icon-32x32.png",
    buttonImageOnly: true,
    buttonText: "From date",
    changeMonth: true,
    dateFormat: 'dd/mm/yy',
    onSelect: function(mindata) {
        if (mindata != dalla_data) {
            dalla_data = mindata;
        };
        window.location.href = "http://index.php?ricid=1amp;modo=1amp;tiporic=2amp;prg=gesric#gesric_form"   this.value;
    }
}).on( "change", function() {
    to.datepicker( "option", "minDate", getDate( this ) );
    display("Got change event from field");
}),
to = $( "#to" ).datepicker({ 
    showOn: "button",
    buttonImage: "images/calendar_icon-32x32.png",
    buttonImageOnly: true,
    changeMonth: true,
    dateFormat: 'dd/mm/yy',
    buttonText: "To date",
    onSelect: function(maxdata) {
        if (maxdata != alla_data) {
            alla_data = maxdata;
        };
        window.location.href = "http://index.php?ricid=1amp;modo=1amp;tiporic=2amp;prg=gesric#gesric_form"   this.value;
    }
}).on( "change", function() {
    from.datepicker( "option", "maxDate", getDate( this ) );
});

$("#from").datepicker('enable');
$("#to").datepicker('enable');

function getDate( element ) {
    var date;
    try {
        date = $.datepicker.parseDate( dateFormat, element.value );
    } catch( error ) {
        date = null;
    }

    return date;
}
  

Но это не работает, и отладка по ссылке календарь остается:

 <a class="ui-state-default ui-state-active" href="#">
  

Спасибо за вашу помощь

Ответ №1:

хорошо, я решил, что очистил скрипт, и теперь он работает.

 $( function() {

from = $( "#from" ).datepicker({
  showOn: "button",
  buttonImage: "images/calendar_icon-32x32.png",
  buttonImageOnly: true,
  buttonText: "From date",
  changeMonth: true,
  dateFormat: 'dd/mm/yy'
    }),

to = $( "#to" ).datepicker({ 
  showOn: "button",
  buttonImage: "images/calendar_icon-32x32.png",
  buttonImageOnly: true,
  buttonText: "To date",
  changeMonth: true,
  dateFormat: 'dd/mm/yy'
    });

$("#from").datepicker('enable');
$("#to").datepicker('enable');

function getDate( element ) {
  var date;
  try {
    date = $.datepicker.parseDate( dateFormat, element.value );
  } catch( error ) {
    date = null;
  }
  return date;
}
  

} );