0

我正在使用 jQuery Validation Engine 插件来验证我的表单。根据条件,如果失败,我必须删除一个控件的验证,如果成功,则我必须分配验证,反之亦然。

//代码:

html:

 <asp:DropDownList runat="server" ID="ddlTransporterType" class="validate[required]" onchange="disableCourier()">
         <asp:ListItem Text="Select" Value=""></asp:ListItem>
         <asp:ListItem Text="OwnVehicle" Value="1"></asp:ListItem>
         <asp:ListItem Text="Transporter" Value="2"></asp:ListItem>
         <asp:ListItem Text="Courier" Value="3"></asp:ListItem>
 </asp:DropDownList>


  <asp:DropDownList runat="server" ID="ddlCourierId">
         <asp:ListItem Text="Select" Value="0"></asp:ListItem>
         <asp:ListItem Text="Professional" Value="1"></asp:ListItem>
         <asp:ListItem Text="STCourier" Value="2"></asp:ListItem>
  </asp:DropDownList>

来自浏览器的来源:

分配前:

<select name="ctl00$ContentPlaceHolder1$ddlCourierId" id="ContentPlaceHolder1_ddlCourierId">
    <option value="0">Select</option>
    <option value="1">Professional</option>
    <option value="2">STCourier</option>

</select>

分配后:

<select name="ctl00$ContentPlaceHolder1$ddlCourierId" id="ContentPlaceHolder1_ddlCourierId" class="validate[required]">
    <option value="0">Select</option>
    <option value="1">Professional</option>
    <option value="2">STCourier</option>

</select>

脚本:

function disableCourier() {

            var e = document.getElementById('<%= ddlTransporterType.ClientID%>');
            var f = document.getElementById('<%= ddlCourierId.ClientID%>');
            var strUser = e.options[e.selectedIndex].value;
         //   alert(strUser);
            if (strUser == 1 || strUser == 2){
                f.disabled = true;
                $('#<%= ddlCourierId.ClientID%>').removeClass("validate[required]");
                }
            else {
                f.disabled = false;
                $('#<%= ddlCourierId.ClientID%>').addClass("validate[required]");
            }
        }

上面的代码不起作用,这意味着没有错误,当我检查检查元素时,分配了类,但在浏览器中验证不起作用。

任何帮助/想法?

4

0 回答 0