如何使用jQuery使用dropkick select元素validation表单validation(基于DIV的select表单元素)
我想在基于div的select表单元素上使用jQueryvalidation库。 我正在使用dropkick库来美化我的选择,但由于我的选择元素被DIVS重新创建,我在尝试validation表单时遇到了困难。
Please Select Admin Auditor
上面的选择字段将转换为下面的html。
Please Select
我为validation器构建了以下自定义方法,但不确定如何将其应用于表单validation过程。
$.validator.addMethod( "permissionGroupCheck", function(value, element){ var spanValue = $("#dk_container_permissionGroup span.dk_label").text(); if(spanValue == "Please Select"){ return false; }else{ return true; } } );
我知道这是一个姗姗来迟的答案,但我找到了一个解决方案。 validation不适用于dropkick库,因为原始选择框显示为display:none; css风格。
修复,强制原始选择框css:
display: block !important;
这将使其可见,但由于新的自定义选择框位于其上,因此无法显示。
或者将此行添加到validation器配置:
ignore: ""
它将阻止插件使用display:none忽略元素。
点亮Gajotres并添加忽略到bassistance.de jqueryvalidation插件!
{ignore:""}
……为我工作
当我尝试用css解决这个问题时,我遇到了一个问题。 我有[1.0.0]的DropKick版本隐藏了带内联显示的选择框:无。 这不能从样式表中覆盖,所以我必须注释掉dropkick.js中隐藏选择框的行:
//$select.hide();
@插件中的150行给我。
为了完成这些工作,我将CSS中的选择框从屏幕上移除:
position:absolute; left:-9999em;
工作得很好。 也许更新的版本隐藏的东西不同?
高亮和unhighlightfunction可能会有所帮助:)
$('.default').dropkick(); $('.example_form').validate({ highlight: function (element, errorClass) { $(element).siblings('.dk_container').addClass('error'); $('.dk_toggle').css('border', 'none'); }, unhighlight: function(element, errorClass) { $(element).siblings('.dk_container').removeClass('error'); $('.dk_toggle').css('border', '1px solid #ccc'); } });