以下の最初のスクリプトは、クリックすると単純なテキスト (この場合は日付) を編集可能なフィールドに変換します。次に、動的に生成されたフィールドがクリックされたときに datepicker() カレンダーをポップアップさせたいのですが、カレンダーをすべての人に表示することはできません。
<script type="text/javascript">
$(document).ready(function() {
var alreadyActive = "";
$(".editable-date").on("click", function() {
if(!alreadyActive) {
OriginalText = $(this).text();
divValue = $(this).attr('value');
$(this).html("<form class='edit-date' ><input type='text' class='date_input' value='" + OriginalText + "' /><input type='submit' value='Update' /></form>");
alreadyActive = "true";
}
});
});
</script>
<script type="text/javascript">
$(function() {
$(".date_input").datepicker();
});
</script>
また、以下のスクリプトを試して、datepicker() を呼び出しても無駄でした。
<script type="text/javascript">
$(function(){
$("body").on("click", ".date_input", function() {
$(this).datepicker();
});
});
</script>