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); ?> 

は、以前の私は一つの問題に直面しています、それは、日付ピッカーがのみ最初のフォームを開いている下のようなJUI日付ピッカーを使用して、フォームがすることを意味し表示されますが、datepickerが表示されないので、私は以下のようなカスタムスクリプトを追加します。

});

日付ピッカーはすべてのフォームを正しく開き、複数のフォームを開いていて、日付ピッカーを1つずつ選択すると、正常に動作しています。しかし問題は、例えば、最初は2つのフォームを開き、最初のフォームを閉じています。今度は2番目のフォームが表示されますが、それはクリック可能ではありません。

+0

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

+0

いくつかの幸運を得るとき、更新します。 –

+1

uとfirebugに感謝します。私はこのエラーを受け取りました/未知の例外:このdatepickerのインスタンスデータがありません –

答えて

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 removeクラスhasDatepicker。それに取り組ん

+0

あなたに感謝します.Suull、インディアンスカル、私は最後の三日間も再び非常に感謝しました –

+0

@vishva。うれしいことはあなたのために働いた。 –

関連する問題