2016-11-17 50 views
1

我正在使用wbraganca動態表單。在我的表單一個字段中輸入所需的日期選擇器,所以我用瑞日期選取器像下面wbraganca yii2動態表單日期選擇器問題?

<?= $form->field($model, "[{$i}]DOB")->widget(DatePicker::classname(), [ 
         'language' => 'en', 
         'options' => ['class'=>'cust-form-control dob','placeholder'=>'Date of birth','autocomplete'=>'off','readOnly'=>true,'aria-label' => 'Date of Birth'], 
          'clientOptions'=>[ 
          'changeMonth'=>true, 
          'changeYear'=> true, 
          'yearRange'=> "1925:+0", 
          'dateFormat' => 'dd/mm/yy', 
          'maxDate' => "-1D", 
          ], 
        ])->label(false); ?> 

早些時候,我是面對一個問題,那就是日期選取器打開只有第一種形式,如果用戶點擊添加按鈕表示該形式將出現但日期選擇器不出現,所以我添加一個像下面的自定義腳本

$(function() { 
$(".dynamicform_wrapper").on("afterInsert", function(e, item) { 
    $(".dob").each(function() { 
     $(this).datepicker({ 
     dateFormat : 'dd/mm/yy', 
     yearRange : '1925:+0', 
     maxDate : '-1D', 
     language : 'en', 
     changeMonth: true, 
     changeYear: true 
     }); 
    });   
}); 

});

因此,日期選擇器正確打開所有窗體,我打開多個窗體,並選擇日期選擇器一個接一個的意思是它工作正常。但問題是,例如,首先我打開兩個表單並關閉第一個表單,現在第二個表單首先在那個時候會出現,但是日期選擇器不可點擊。

+0

http://stackoverflow.com/questions/40457408/select2-and-depdrop-in-dynamic-form-in-yii2/40468025#40468025 – yafater

+0

處理它,會得到一些運氣時更新。 –

+1

謝謝你和螢火蟲我得到這個錯誤/未捕獲的異常:缺少此日期選擇器的實例數據 –

回答

2

使用afterDelete並重新初始化日期選擇器:

$this->registerJs(' 
$(function() { 
    $(".dynamicform_wrapper").on("afterInsert", function(e, item) { 
     $(".dob").each(function() { 
      $(this).datepicker({ 
       dateFormat : "dd/mm/yy", 
       yearRange : "1925:+0", 
       maxDate : "-1D", 
       changeMonth: true, 
       changeYear: true 
      }); 
     });   
    }); 
}); 
$(function() { 
    $(".dynamicform_wrapper").on("afterDelete", function(e, item) { 
     $(".dob").each(function() { 
      $(this).removeClass("hasDatepicker").datepicker({ 
       dateFormat : "dd/mm/yy", 
       yearRange : "1925:+0", 
       maxDate : "-1D", 
       changeMonth: true, 
       changeYear: true 
      }); 
     });   
    }); 
}); 
'); 

need to removehasDatepicker類重新初始化日期選擇器。

+0

非常感謝你.Insane頭骨,我已經試了最後三天再次非常感謝你 –

+0

@vishva。很高興爲你工作。 –