【问题标题】:active required validation on radio button selection在单选按钮选择上激活所需的验证
【发布时间】:2017-06-09 19:57:31
【问题描述】:

我想激活/禁用下拉列表上的必填字段,如果 radiobutton1 选中 requiredvalidator active 否则保持禁用。

html代码

 <asp:RadioButton runat="server" id="radioA1" GroupName="overseas" /> 
  <label for="radioA1">Yes </label> 

  <asp:RadioButton runat="server" id="radioA2" GroupName="overseas" /> 
  <label for="radioA2">No</label>

  <asp:RadioButton runat="server" id="radioA3" GroupName="overseas" /> 
  <label for="radioA2">Not Applicable</label>
  <br />
  Overseas Country 
  <asp:DropDownList ID="DropDownList10" AppendDataBoundItems="True" CssClass="form-control mySelecBox" runat="server" DataSourceID="newCountry" DataTextField="Country" DataValueField="CountryGuid">
          <asp:ListItem Text="" Value="" />                              
  </asp:DropDownList>

<asp:SqlDataSource ID="newCountry" runat="server" ConnectionString="<%$ ConnectionStrings:umtonlineConnectionString %>" SelectCommand="SELECT [CountryGuid], [Country] FROM [countries]"></asp:SqlDataSource>

<asp:RequiredFieldValidator ID="RequiredFieldValidator13" runat="server" ControlToValidate="DropDownList10" Enabled="False" ErrorMessage="Oversea country required *" ForeColor="#CC0000" ValidationGroup="step1"></asp:RequiredFieldValidator>

                        <br />

jQuery 代码:

 $(document).ready(function () {

        $('#<%=radioA1.ClientID%>').click(function () {

            alert("its working");     // this part work fine.

            ValidatorEnable($('#<%=RequiredFieldValidator13%>'));

        });
     });               

【问题讨论】:

    标签: jquery asp.net webforms


    【解决方案1】:

    首先,显然应该调用 ClientID:

    '#<%=RequiredFieldValidator13.ClientID%>'
    

    其次,ValidatorEnable 需要一个 dom 对象,而不是 jQuery 对象。所以

    var validator = document.getElementById('<%=RequiredFieldValidator13.ClientID%>');
    

    或者,按照 cmets 中 kman 的建议:

    var validator = $('#<%=RequiredFieldValidator13.ClientID%>')[0];
    

    第三,它还需要第二个参数,布尔值,指定是启用还是禁用验证器。我想这应该根据下拉列表的值来设置。

    【讨论】:

    • 只是想评论一下您可以使用 jQuery 来选择您的元素,您只需解开它以公开 DOM 对象。只需对其进行索引即可展开。 $('#')[0]
    猜你喜欢
    • 2016-02-15
    • 1970-01-01
    • 2013-06-28
    • 2014-04-13
    • 1970-01-01
    • 2019-08-27
    • 2012-02-19
    • 2014-01-07
    • 1970-01-01
    相关资源
    最近更新 更多