我试图在用户点击动态创建的按钮时显示datepicker。我不想在那里显示文本框,所以我使用隐藏输入。
使用Javascript:
function showDate(){
var dateDiv = $('#dateDiv');
for(ind=0; ind<=5; ind++){
var date = $('<img src="calendar.png" class="datepicker" id="'+ind+'-date" /><input type="hidden" id="'+ind+'-date-picker" /><br />');
dateDiv.append(date);
}
}
window.onload = function(){
showDate();
$('.datepicker').live('click', function(){
var datepickerId =$(this).attr('id');
datepickerId += '-picker';
$('#'+datepickerId).datepicker();
});
}
但是当我点击日历图标时没有任何反应。
HTML:
<body>
<div id="dateDiv"></div>
</body>
答案 0 :(得分:1)
.datepicker()
只需设置一个日期选择器。您可以在创建div时执行此操作,而不是每次单击它时都这样做。
要显示它,您可以拨打.datepicker('show');
答案 1 :(得分:0)
不确定您使用的是哪个版本的JQuery,但如果它是1.7+,则不推荐使用.live()',如果它是1.9+,则它已被删除。 Link
此外,我建议使用document.ready函数进行初始化。
function showDate(){
var dateDiv = $('#dateDiv');
for(ind=0; ind<=5; ind++){
var date = $('<img src="calendar.png" class="datepicker" id="'+ind+'-date" /><input type="hidden" id="'+ind+'-date-picker" /><br />');
dateDiv.append(date);
}
}
$(document).ready( function(){
showDate();
$('.datepicker').on('click', function(){
var $datepicker =$(this).attr('id');
$datepicker += '-picker';
$('#'+$datepicker).datepicker();
});
});