编程语言
首页 > 编程语言> > javascript-如何使用带有dropkick选择元素的jQuery验证表单验证(基于DIV的选择表单元素)

javascript-如何使用带有dropkick选择元素的jQuery验证表单验证(基于DIV的选择表单元素)

作者:互联网

我想在基于div的选择表单元素上使用jQuery验证库.我正在使用dropkick库美化我的选择,但是由于用DIVS重新创建了我的选择元素,因此在尝试验证表单时遇到了困难.

<select id="permissionGroup" class="dropkick" name="permissionGroup" style="display: none;">
    <option selected="selected" value="">
      Please Select
    </option>
    <option value="1">
      Admin
    </option>
    <option value="2">
      Auditor
    </option>
</select>

上面的选择字段将转换为下面的html.

  <div id="dk_container_permissionGroup" class="dk_container dk_theme_default" tabindex="" style="display: block;">
    <span class="value"><a class="dk_toggle" style="width: 131px;"><span class=
    "dk_label">Please Select</span></a></span>

    <div class="dk_options" style="top: 29px;">
      <ul class="dk_options_inner">
        <li class="dk_option_current"><a data-dk-dropdown-value="">Please Select</a></li>
        <li class=""><a data-dk-dropdown-value="1">Admin</a></li>
        <li class=""><a data-dk-dropdown-value="2">Auditor</a></li>
      </ul>
    </div>

我为验证器构建了以下自定义方法,但不确定如何将其应用于表单验证过程.

$.validator.addMethod(
    "permissionGroupCheck",
    function(value, element){
        var spanValue = $("#dk_container_permissionGroup span.dk_label").text();

        if(spanValue == "Please Select"){
            return false;
        }else{
            return true;
        }
     }
);

解决方法:

我知道这是一个迟来的答案,但是我找到了解决方案.验证不适用于dropkick库,因为原来的选择框已显示: CSS样式.

使用以下命令修复并强制原始选择框CSS:

display: block !important;

这将使它可见,但是将不可见,因为新的自定义选择框位于其上方.

或将此行添加到验证器配置:

ignore: ""

它将防止插件忽略带有display:none的元素.

标签:javascript,jquery,validation,jquery-validate,jquery-dropkick
来源: https://codeday.me/bug/20191011/1896282.html