2016-06-29 43 views
1

2つの入力フィールドがあり、1つはHTMLページ内に直接コーディングされ、もう1つはJavaScriptによって追加されます。jQueryのdatepickerがhtmlの動的に生成された入力フィールドに表示されない

私は

var datepicker2 = '<div class="control-group"> <label class="control-label">Cheque Date</label><div class="controls"> <input placeholder="DD/MM/YYYY" id="datepicker2" name="" type="text" onkeyup="" class="form-control"> </div> </div>' 
    $("#drop1").html(datepicker2); 


    $("#datepicker1").datepicker(); 

    $("#datepicker2").datepicker(); 

問題は、日付ピッカーは、静的入力と表示されているjavascriptのコードを追加でhtmlページで

1つの入力フィールド

<input id="datepicker1" name="" type="text" value=""class="form-control" placeholder="dd/mm/yyyy"> 

他のjQuery UIの日付ピッカーを使用していますフィールドをHTMLページに表示し、JavaScriptを使用して追加するときにダイナミックフィールドに表示しません。

動的に生成されたフィールドに対して、日付ピッカーを初期化することはできますか?

+0

ラップ:このような場合、あなたは

$("#datepicker2").datepicker(); 

見る前にこの

$('body').append(datepicker2);//You may replace 'body' with '#drop2' or whatever is your container 

のようなものを呼び出す必要があります。問題は、レンダリングされる前に要素にアクセスしようとしていることです。 – Rajesh

+0

これらのフィールドはモーダル(ポップアップウィンドウ)で表示されていました。 – robins

+0

'.datepicker(" refresh ")'を使って問題を解決できるかもしれません。 –

答えて

-1

次のコードを試してください。

は、入力フィールドに共通クラス.date_pickerを追加し、あなたが文書にdatepicker2追加したことがないように思え次のJavaScript

$('body').on("click", ".date_picker", function(){ 
    $(this).datepicker(); 
});​ 
+1

私はこの習慣を静かで悪いものにしています... – Rayon

+0

'.date_picker'が呼び出されるたびにdatepickerを作成しています。あなたは一度だけそれを呼び出す必要があります。 – Rajesh

関連する問題