隐藏和显示的div使用jQuery

隐藏和显示的div使用jQuery

问题描述:

我使用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!

感谢

你可以做到这一点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