我有一个问题,我被困住了。我有 MVC 3 应用程序,在这个应用程序中我有调查和培训的概念。每个培训有 1 个调查。为了让用户参加调查,我在单击 HTML 操作链接时打开了一个弹出页面。下面是 DetailsSurvey.cshtml 中的代码:
<tr> <td class="view_detail_label">
Eğitim Adı
</td>
<td>
@Html.ActionLink(
training.Name.Name,
"AddSurvey",
new {
employeeId = Model.Id,
trainingId = training.Id
},
new {
@class = "addSurvey"
}
)
<div class="result" style="display:none;"></div>
</td>
</tr>
然后在javascript方面我有以下功能来打开弹出窗口:
$(document).ready(function () {
$('.addSurvey').click(function () {
$.ajax({
url: this.href,
type: 'GET',
cache: false,
context: this,
success: function (result) {
$(this).next('.result').html(result).dialog({
autoOpen: true,
title: 'Anket',
width: 500,
height: 'auto',
modal: true
}); //end of dialog
} //enf of success function
}); //end of ajax call
return false;
});
});
$(document).delegate('.addSurvey', 'click', function () {
$.ajax({
url: this.href,
type: 'GET',
cache: false,
context: this,
success: function (result) {
$(this).next('.result').html(result).dialog({
autoOpen: false,
title: 'Anket',
width: 500,
height: 'auto',
modal: true
}); //end of dialog
} //enf of success function
}); //end of ajax call
});
可以有 1 个或多个调查链接。发生的情况是,当我单击按钮时,弹出窗口第一次打开,但是当我关闭弹出窗口并尝试重新打开它时,它根本没有打开。如果我在新选项卡或窗口中打开它,它会分别打开。我使用delegate
了订阅事件,但它不起作用。这是由关闭按钮采取的操作引起的,它在关闭后不知何故失去了功能。有什么修复吗?