刷新Autopostback Dropdownlist上的Javascript代码

时间:2015-11-24 10:30:44

标签: javascript asp.net vb.net checkboxlist dropdown

我的页面中有一个下载列表,其中包含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代码?感谢。

1 个答案:

答案 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
});

这里是完整的描述:

jQuery $(document).ready and UpdatePanels?