网页上有一个UpdatePanel,每个行都有一个网格视图,每个行都有一个复选框,还有一个同一类“cssUpdateEM”的按钮。在更新面板之外,我有另一个按钮“btnExportToExcel”,其中包含“cssUpdateEM”类。
更新面板中的按钮(如果单击)仅显示警报消息(如果未选择任何项目)。问题在于外部按钮“btnExportToExcel”。如果页面被回发n次,并且单击了btnExportToExcel,并且未选择任何项目,则警报消息将显示n次而不是仅显示一次。
//**************************
// Pick the selected Items
//**************************
$('.cssUpdateEM').click(function () {
var SelectedEMItemIDs = "";
var strDelim = "";
$('.cssItemEM').each(function () {
if ($(this).is(':checked') == true) {
SelectedEMItemIDs += strDelim + $(this).attr('eid');
strDelim = ";";
}
});
if (SelectedEMItemIDs == "") {
alert('Please select the item(s).');
return false;
}
else {
$('#hdnSelectedItemID').attr('Value', SelectedEMItemIDs);
return true;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
知道为什么会发生这种情况,以及如何解决这个问题?
答案 0 :(得分:0)
我解决了这个问题。我想提一下我正在使用母版页。
所以,之前的代码:
<script type="text/javascript">
function BindControlEvents() {
//jQuery is wrapped in BindControlEvents function so it can be re-bound after each callback.
$(document).ready(function () {
$('.cssUpdateEM').click(function () {
//the original function body here
});
// ... other functions here
})
}
// ... other functions here
脚本以:
结束 Sys.Application.add_load(BindControlEvents);
</script>
之后的代码将btnExportToExcel事件处理程序移到$(document).ready之外。
$('#btnExportToExcel').click(function () {
//code including the alert here
}
我希望这个解释会在某个时候帮助某人。