2010-05-12 237 views
0
我使用C#編程

,請參見下面的代碼:隱藏和顯示的div使用jQuery

<p><b> 
      <%=ResourceFile.GetResourceString("c_FreeLiveOnlineProgramInterest")%> 
     </b>&nbsp;<font color="red">*</font>&nbsp; 
     <br> 
     <asp:dropdownlist id="ddl_ProgramInterest" tabIndex="3" Runat="server"></asp:dropdownlist><br> 
     <asp:requiredfieldvalidator id="reqv_ddl_ProgramInterest" runat="server" Display="Dynamic" ControlToValidate="ddl_ProgramInterest"></asp:requiredfieldvalidator></p> 
    <div style="DISPLAY: none" id="divOther" runat="server"> 
     <p><b> 
       <%=ResourceFile.GetResourceString("c_FreeLiveOnlineProgramInterestOther")%> 
      </b> 
      <br> 
      <asp:textbox id="txt_Other" tabIndex="6" Width="155" runat="server"></asp:textbox><br> 
      <asp:requiredfieldvalidator id="reqv_txt_Other" runat="server" Display="Dynamic" ControlToValidate="txt_Other"></asp:requiredfieldvalidator></p> 
    </div> 

上面可以看到,我有一個下拉菜單「利益的方案」及以上的下拉菜單有兩個值「活'和'其他',我想當用戶選擇其他時,「divOther」將出現或將被隱藏以及requirefieldvalidator'reqv_txt_Other'相同,我在代碼隱藏中編寫了下面的代碼,其工作正常,但在服務器端。

private void ddl_ProgramInterest_SelectedIndexChanged(object sender, System.EventArgs e) 
     { 
      if (ddl_ProgramInterest.SelectedValue == ResourceFile.GetResourceString("c_FreeLiveOnlineProgramInterestValue2")) 
      {   
       divOther.Style.Add("display","block"); 
       reqv_txt_Other.Enabled = true; 
      } 
      else 
      {   
       divOther.Style.Add("display","none"); 
       reqv_txt_Other.Enabled = false; 
       txt_Other.Text=""; 
      } 
     } 

請建議如何使用JQuery!

感謝

回答

1

你可以做到這一點jQuery的是這樣的:

<script type="text/javascript"> 
    $(function() { 
    $("#<%=ddl_ProgramInterest.ClientID%>").change(function() { 
     var other = $(this).val() === '<%=ResourceFile.GetResourceString("c_FreeLiveOnlineProgramInterestValue2")%>'; 
     $("#divOther").toggle(other); 
     $("#<%=reqv_txt_Other.ClientID%>").attr("enabled", other);  
    }).change(); //fire it on load 
    }); 
</script> 

剛從divOther刪除runat="server"因爲它不再需要。上面的解決方案需要在您的頁面上工作,否則服務器標籤將無法解析(並且資源字符串必須位於頁面中)。

如果你想找到一個(意見在這裏)更清潔的方式的元素,給他們一個類,例如給下拉CssClass="interest"和更改jQuery選擇從$("#<%=ddl_ProgramInterest.ClientID%>")$(".interest"),有點清潔:)

+0

謝謝!尼克我只是做了一些修改,它爲我工作! – 2010-05-12 12:40:25