jQuery DatePick Заполнение ввода - проблема с несколькими кликами - PullRequest
2 голосов
/ 23 июля 2010

Итак, последняя дилемма, с которой я сталкиваюсь:

Я использую jQuery DatePick (не DatePicker), чтобы выбрать даты и заполнить поле ввода этими датами. Проблема в том, что поле ввода будет заполняться каждый раз, когда я нажимаю на дату. Поэтому, если я щелкаю 23-е число, а затем снова щелкаю его, чтобы отменить выбор, оно автоматически добавляется во вход (и, следовательно, в массив базы данных) дважды.

Код ниже:

    <script type="text/javascript">
 $(document).ready(
  function (){
  $('.datePick').datepick({ 
      //rangeSelect: true,
   multiSelect: 999, 
   monthsToShow: 2,
   multiSeparator: ':',
   monthsToShow: 3, 
   monthsToStep: 3, 
      prevText: 'Prev months', 
   nextText: 'Next months',
   onSelect: function(date) 
   { 
    var all_dates = $('#dateSelect').val();
          for (var i = 0; i < date.length; i++) 
    { 
              all_dates = ':'+$.datepick.formatDate('yyyy-mm-dd', date[i]);
          } 
          $('#dateSelect').val($('#dateSelect').val()+all_dates);
   }});
  //Ajax call for image uploader
   });
 </script>

И тогда у меня есть оба элемента:

 <div class="datePick"></div>


<input id="dateSelect" name="dateSelect" value=""/>

1 Ответ

1 голос
/ 23 июля 2010

Чтобы решить проблему, я изменил код в событии onSelect следующим образом:

   onSelect: function(date) 
   { 
    var all_dates = '';
          for (var i = 0; i < date.length; i++) 
            { 
              all_dates = all_dates + ':'+$.datepick.formatDate('yyyy-mm-dd', date[i]);
          } 
          $('#dateSelect').val(all_dates);
   }

Надеюсь, это поможет.

...