0
使用MVC 3應用程序爲我們的呼叫中心顯示保險單持有人的數據。jQuery對話框不能從隨後的數據表中打開頁面
我有一個頁面,保險索賠排序在一個數據表。該表的腳本是:
$('#claims').dataTable({
"bProcessing": true,
"bJQueryUI": true,
"bPaginate": true,
"bSort": false,
"sPaginationType": "full_numbers",
"sDom": '<"H"lrp>t<"F"ip>',
"iDisplayLength": 10,
"bAutoWidth": false,
"oLanguage": { "sZeroRecords": "No claims found for this policy",
"sProcessing": "<img src='../../../../Content/images/ajax-loader-bar.gif' />" },
"aoColumns": [
{ "sName": "Claim #" },
{ "sName": "Status" },
{ "sName": "Clm Type" },
{ "sName": "Rider Form" },
{ "sName": "Primary DX" },
{ "sName": "Exam Code" },
{ "sName": "Asst Exam" },
{ "sName": "Case Mgr" },
{ "sName": "Follow Up Date" },
{ "sName": "Close/Deny Date" },
{ "sName": "Closed Reason" }
]
});
一個行中包含能打開與有關要求細節的對話窗口的按鈕。 JavaScript是這樣的:
$(function() {
$('#ClaimsDetailDialog').dialog({
autoOpen: false,
width: 950,
resizable: true,
modal: true,
position: ['center', 'top']
});
$('.claimmodal').on("click", function() {
var url = $(this).attr('href');
var claimnum = $(this).text();
var policynum = $(this).attr('polnum');
$('#ClaimsDetailDialog').html("<img src='../../../../Content/images/ajax-loader-bar.gif' />")
.dialog("option", "title", "Claim Details for Claim #" + claimnum + " for Policy #" + policynum)
.dialog("option", "buttons", {
Close: function() {
$(this).dialog("close");
}
})
.load(url).dialog("open");
return false;
});
});
這工作正常,直到超過10個索賠對一個政策。一旦用戶點擊第二頁,點擊聲明號碼不會再打開一個對話框,而是打開窗口到請求的URL,沒有JavaScript標記。
這裏是有問題的電池的剃刀:
<td style="text-align: center">
@Html.ActionLink(@item.Claimmast.CLMNO.ToString(), "ClaimDetail", null, new { id = item.Claimmast.ID }, new { @class = "claimmodal", polnum = item.Claimmast.POLICY })
</td>
非常感謝。仍然是網絡開發的新手,所以我對動態事件處理模糊不清。我會盡快將其標記爲 –
歡迎您。每當你動態改變dom的時候。你應該總是將你的事件處理程序附加到dom中靜態父元素的元素上。然後,他們會聽到這個事件,因爲他們泡在樹上 –