2012-09-08 36 views
0

我完全卡住了Datepicker。 如果Datepicker處於活動狀態,模糊隱藏日曆,但焦點仍然保留在輸入中,所以我無法再次通過單擊再次輸入來觸發日期選擇器。 頁面上只有2個日期選擇器正常工作,所有其他打破這種方式。奇怪的日期選擇器行爲,與模糊相關

這是我如何設置日期選擇器。第一對工作正常,第二對是壞的。

dates.intervalDatepickersSet($(".head-from, .head-to")); 
dates.intervalDatepickersSet($(".residence-from, .residence-to")); 

這是dates.intervalDatepickersSet:

intervalDatepickersSet: function(el) { 
    var interval, i, 
    pair = []; 

    if (el.length > 2) { 
     var elementsContainer = el.toArray(); 
     for (i in elementsContainer) { 
      if (elementsContainer.hasOwnProperty(i)) { 
       pair[0] = elementsContainer.shift(); 
       pair[1] = elementsContainer.shift(); 
       // If we are on the Update order page, we could have few elements with same classes. 
       // Set datpickers for each pair of that incoming bundle of elements. 
       dates.intervalDatepickersSet($(pair)); 
      } 
     } 
    } 

    interval = el.datepicker({ 
     onSelect: function(selectedDate) { 
      var prefix = dates.prefixFromTo($(this)), 
      option = ($(this).hasClass(prefix + '-from')) ? "minDate" : "maxDate", 
      instance = $(this).data("datepicker"), 
      date = $.datepicker.parseDate(
       instance.settings.dateFormat || $.datepicker._defaults.dateFormat, 
       selectedDate, instance.settings); 
      interval.not(this).datepicker("option", option, date); 
      /* calculations code */ 
    }); 
} 

有什麼不對呢?

UPD 第一工作對元素:

<input id="id03" class="disable text from head-from" default="__.__._____" type="text" name="Order[z_start_date]" id="z_start_date" value="<?php if($this->getAction()->getId()=="create") echo '__.__._____'; else echo Yii::app()->dateFormatter->format('dd.MM.yyyy', $model->z_start_date);?>" /> 
<input id="id04" class="disable text to head-to" default="__.__._____" type="text" name="Order[z_end_date]" id="z_end_date" value="<?php if($this->getAction()->getId()=="create") echo '__.__._____'; else echo Yii::app()->dateFormatter->format('dd.MM.yyyy', $model->z_end_date);?>" /> 

二破一:

<input class="text dateOfSettlement1 residence-from" type="text" name="<?php echo $model->getAttrName($block, 'in'); ?>" value="Дата начала" default="Дата начала" /> 
<input class="text dateOfEviction1 residence-to" type="text" name="<?php echo $model->getAttrName($block, 'out'); ?>" value="Окончание" default="Окончание" /> 

UPD2

我可以當我點擊另一個又只觸發日期選擇器輸入或拖動某個元素(觸發另一個元素ction)。這種行爲的原因是什麼?

所以我只能在「focusout」事件後再觸發datepicker,但不能在「blur」之後觸發。雖然,日曆隱藏模糊。

+0

請分享html和css相同。 – Sajith

回答

0

結帳日期選擇器showOn選項。 docs

您可能想將其設置爲「both」。默認情況下,它被設置爲「焦點」,如果輸入元素仍然有焦點,它將不會再次觸發。

+0

感謝您的回答,但這'兩''表示日期選擇'重點'和'點擊按鈕',那不是我的情況 – drzhbe