2014-09-23 55 views
0

開始日期我使用Yii白手起家datepickerRow:Check this結束日期應比Yii引導datepickerRow

我想這取決於我的起始日期END_DATE。即end_date應該大於開始日期。我在谷歌上花了幾個小時來檢查是否有可用的內置解決方案,但沒有找到任何解決方案。然後,我寫我自己的JS代碼,這是我認爲很好,但它不工作。

我已經與Cjuidatepicker和它的蓬勃發展取得了這個東西。

Check my working code for yii cjuidatepicker

但我不知道爲什麼它不適合Yii引導datepickerRow工作。

任何幫助,將不勝感激。

以下是我的代碼:

<?php 
echo $form->datepickerRow(
     $identitycard, 'date_of_issue', array(
    'onChange' => 'setEndDate("passport_date_of_expiry", this)', 
    'class' => "input-small", 
    'labelOptions' => array('label' => 'Date of Issue <span class="required">*</span>'), 
    'value' => $passportArr['date_of_issue'], 
    'name' => 'passport[date_of_issue]', 
    'readonly' => true, 
    'options' => array(
     'autoclose' => true, 
     'showAnim' => 'fold', 
     'format' => 'yyyy-mm-dd', 
     'endDate' => '-infinity' 
    ), 
    'prepend' => '<i class="icon icon-calendar"></i>', 
    'hint' => 'yyyy-mm-dd' 
     ) 
); 
echo $form->datepickerRow(
     $identitycard, 'date_of_expiry', array(
    'class' => "input-small", 
    'labelOptions' => array('label' => 'Date of Expiry <span class="required">*</span>'), 
    'value' => $passportArr['date_of_expiry'], 
    'name' => 'passport[date_of_expiry]', 
    'readonly' => true, 
    'options' => array(
     'autoclose' => true, 
     'showAnim' => 'fold', 
     'format' => 'yyyy-mm-dd', 
    ), 
    'prepend' => '<i class="icon icon-calendar"></i>', 
    'hint' => 'yyyy-mm-dd' 
     ) 
); 
?> 

// JS代碼

function setEndDate(id, date) { 
    var selectedDate = $(date).val(); 
    $("#" + id).datepicker({ 
     startDate: selectedDate, 
     format: "yyyy-mm-dd" 
    }); 
} 
+0

嗨,你爲什麼不做模型規則裏面?任何想法? – 2014-09-23 06:27:36

+0

@PrabowoMurti:我想通過JS來完成它。表格太大了,所以我很難通過模型來完成。 – Sky 2014-09-23 06:30:14

+0

@Ultimate啓用ajax驗證 – 2014-09-23 07:01:29

回答

1

在你的js函數setEndDatedate不是jQuery的元素(在datepickerRow您的參數this)第二個參數。它不能用jQuery選擇器來讀取。

在你的函數setEndDate可以讀取輸入值date.value;代替$(date).val();

編輯:

setEndDate功能應與這方面的工作在我yiibooster改變(refer to plugin docs在yiibooster的源代碼有關,例如安裝:protected/components/bootstrap/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js):

function setEndDate(id, date) { 
    $("#" + id).val(date.value); 
    $("#" + id).datepicker('setStartDate' , date.value); 
} 
+0

它工作。謝謝@Alejandro – Sky 2014-09-26 13:58:32

相關問題