カスタムフィールドテンプレートに標準でセットされているdatapickerとは別のDatepicker | jQuery UIを利用しています。
要素を自由に増やせるカスタムフィールドテンプレートのフィールドセットでdatepickerを利用する要素を増やすと、2つ目以降の増やした要素でdatepickerが出ないという状況になりました。
いろいろな内容を試したのですが、なかなか順調に動くようにならず、以下のコードで一応ちゃんと動くようになりましたのでメモしておきます。
カスタムフィールドテンプレートのテンプレートオプション
[userBlock] type = break class = userBlock [user_fieldset] type = fieldset_open legend = ユーザー multiple = true multipleButton = true [user_name] label = 名前 type = textfield blank = true [user_birthdate] label = 生年月日 type = textfield class = date-input readOnly = true blank = true [user_fieldset] type = fieldset_close
WordPressの管理画面に追加したJavaScript
type = breakで追加したuserBlockブロックの中の「追加」がクリックされたときに地道に要素を追って動くようにしています。
<script type="text/javascript"> jQuery(document).ready(function ($) { $(".date-input").datepicker(); $('body').on('click','.userBlock a',function(){ $(this).parent().parent().parent().next().children("dl:last").children("dd").children("input").removeClass("hasDatepicker").datepicker(); $(this).removeClass("hasDatepicker").datepicker("show"); }); }); </script>