У меня есть выпадающий список на моей странице с автопостбэком:
<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>
Когда я выбираю вариант из раскрывающегося списка для клиентов, код 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 для списка флажков работает правильно, пока я не выберу опцию для раскрывающегося списка. Как я могу снова обновить код javascript? Спасибо.