我有一个jQuery脚本来完成以下任务:
如果我的窗体中的网格视图包含带有特定id的行,则必须将其标记为红色。必须弹出确认对话框以询问用户是否想这样或那样做。。
我构建了这个代码:
if (response == "EntryInList") {
$('#entryListContainer div table tbody tr').each(function() {
if ($(this).attr('id') == 'entry_' + $('#<%= txtProductNumber.ClientID %>').val()) {
$(this).css("color", "red");
}
}
);
if (!confirm("Entry already exists. Really overwrite?")) {
jQuery('#<%= txtProductNumber.ClientID %>').val('');
jQuery('#<%= txtCount.ClientID %>').val('');
jQuery('#<%= txtProductNumber.ClientID %>').focus();
return false;
}
}因此,“确认”框首先弹出,行不变成红色。只有在使用过这个盒子后,它才会变成红色。我怎么才能立刻把这一排变成红色呢?
我的另一个问题是确认框拒绝让我的页面向下滚动。但是如果网格视图比整个页面更长的话,我想这样做。
发布于 2010-06-10 09:28:41
在您的JavaScript代码执行完成之前,显示将不会更新,并且confirm对话框是模态的,这将在对话框关闭之前停止所有脚本。这意味着,即使这些更改已经发生,在关闭框之前,您也不会看到对文档的任何更改。
一个可行的解决方案可能是使用setTimeout(function () {}, 0)显示该框,但您可能需要稍微修改其他代码。
https://stackoverflow.com/questions/3013150
复制相似问题