我在页面标题中有一个 JavaScript 函数,用于更改页面中内容的可见性:
<script type="text/javascript">
// <![CDATA[
function toggleVis(id1, id2, id3) {
var element = document.getElementById(id1).style.visibility;
if (element == 'hidden') {
document.getElementById(id1).style.visibility = 'visible';
document.getElementById(id2).style.visibility = 'visible';
document.getElementById(id3).style.visibility = 'visible';
}
else {
document.getElementById(id1).style.visibility = 'hidden';
document.getElementById(id2).style.visibility = 'hidden';
document.getElementById(id3).style.visibility = 'hidden';
}
}
// ]]>
</script>
当我在带有单选按钮的 updatepanel 中使用它时它起作用:
<dx:ASPxRadioButton ID="RB1" CssClass="btnInline" runat="server" Text="Yes">
<ClientSideEvents CheckedChanged="function(s, e) { toggleVis('Label33', 'textbox','Label34');}" />
</dx:ASPxRadioButton>
<dx:ASPxLabel ID="Label33" CssClass="btnInline" runat="server" Text="Label33" Style="visibility: hidden" />
<dx:ASPxTextBox ID="textbox" CssClass="btnInline" runat="server" Style="visibility:hidden" Width="40px" />
<dx:ASPxLabel ID="Label34" CssClass="btnInline" runat="server" Text="Label34" Style="visibility: hidden" />
问题是当我单击清除表单的按钮时,之后 JavaScript 无法通过检查单选按钮来工作。 我尝试了互联网上的一些东西,但我做不到,对不起我的英语。
最佳答案
使用add_endRequest() 。这将在部分回调中触发。
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(toggleVis);
</script>
- 将以上代码放入
.aspx
页面进入<head>
标签。 会起作用的:)
关于javascript - updatepanel 部分回发后运行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26944467/