我的页面中有一个下载列表,其中包含autopostback:
<table>
<tr>
<td>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlClients" runat="server" DataValueField="IdClient" DataTextField="Company" AutoPostBack="true" ViewStateMode="Enabled">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
<tr>
还有一个复选框:
<td>
<div id="lnkShowHideUsers" onclick="ShowHideCheckBoxList();">
<span id="spanUsers" runat="server">User/s</span>
</div>
<div id="td_Checkboxlist" style="display: none" >
<asp:CheckBoxList ID="ddlUsersForCompany" runat="server" OnClick="ShowHideSpanUsers();" DataValueField="UserId" DataTextField="UserName" SelectionMode="Multiple"
ViewStateMode="Enabled" RepeatLayout="OrderedList">
</asp:CheckBoxList >
</div>
</td>
</tr>
</table>
当我从de dropdownlist为客户端选择一个选项时,检查表的javascript代码将丢失。
我尝试在我看来使用此代码:
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server">
<script type="text/javascript">
$(document).ready(function () {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
ShowHideSpanUsers();
});
</script>
如果选中或未选中任何复选框,这是隐藏或显示范围的javascript函数:
<script type="text/javascript">
function ShowHideSpanUsers() {
var cont = 0;
$(':checkbox').each(function (index, item) {
if (item.checked == true) {
cont = cont + 1
}
});
if (cont == 0) {
$('table div span').hide();
}
else {
$('table div span').show();
}
}
</script>
javascript for checkboxlist正常工作,直到我为dropdownlist选择和选项。 如何重新刷新javascript代码?感谢。
答案 0 :(得分:0)
你需要做这样的事情,在prm.add_endRequest中你会再次调用该事件
$(document).ready(function() {
// bind your jQuery events here initially
});
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function() {
// re-bind your jQuery events here
});
这里是完整的描述: