2010-07-23 3 views
2

Итак, последняя дилемма я столкнулся:JQuery DatePick Заполнение ввода - Несколько щелчков Issue

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

код ниже:

<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

Чтобы решить эту проблему, я изменил код в случае 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); 
    } 

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

+0

Вы, сэр, ученый и джентльмен. До сих пор прекрасно работает! –

+0

Спасибо gamerzfuse за комплимент :) – dejavu

Смежные вопросы