我有一个jQuery datepicker,除了updateTable中的Ajax完成时才有效。 日历单元格中的数字消失,并且防止了单元格的选择。无论updateTable的结果是什么,都会发生这种情况。有什么问题?
<head>
<script type="text/javascript">
$(document).ready(function () {
initDatepicker();
$("#btn").live('click', function (event) {
$.ajax({
url: '@Url.Action("Add")',
type: 'POST',
contentType: 'application/json',
success: function (result) {
updateTable();
}
});
});
});
function initDatepicker () {
$('.datepicker').datepicker();
};
function updateTable() {
$.ajax({
url: '@Url.Action("UpdateTable")',
type: 'POST',
contentType: 'application/json',
success: function (result) {
$("#table").append(result);
},
});
};
</script>
</head>
<body>
<div>
@RenderBody()
</div>
<div id="table">
</div>
</body>
答案 0 :(得分:0)
您必须在更新Ajax之后重新初始化日期选择器,因为您更改了DOM结构,而前一个不再有效。因此,在将表更新为:
后再次调用initDatepicker();
function updateTable() {
$.ajax({
url: '@Url.Action("UpdateTable")',
type: 'POST',
contentType: 'application/json',
success: function (result) {
$("#table").append(result);
// here call again the init
initDatepicker();
},
});
};