2015-11-24 44 views
1

我有我的頁面自動回一個下拉列表:上的AutoPostBack DROPDOWNLIST刷新JavaScript代碼

 <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> 

和一個CheckBoxList的:

 <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> 

用於checkboxlist的JavaScript可正常工作,直到我選擇並選擇dropdownlist。 如何再次刷新JavaScript代碼?謝謝。

回答

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?

+0

感謝對你的答案,我試圖把這兩個在同一個更新面板,它仍然無法正常工作。 –

+0

@ Lore_98檢查我更新的答案,可能這會幫助你 –

+0

我收到此錯誤消息:未捕獲ReferenceError:Sys未定義 –