chosen和validateEngine共用
博客专区 > FelixFly 的博客 > 博客详情
chosen和validateEngine共用
FelixFly 发表于2年前
chosen和validateEngine共用
  • 发表于 2年前
  • 阅读 10
  • 收藏 0
  • 点赞 0
  • 评论 0
摘要: chosen会把validateEngine部分进行隐藏,而validateEngine不对隐藏域进行检查,怎样才能让chosen进行validate呢?

    在使用jquery validateEngine时用了chosen插件,chosen插件导致select原本的验证hidden了,而validateEngine插件不对hidden域进行validate。

// Custom ID uses prefix
usePrefix: "",
// Custom ID uses suffix
useSuffix: "",

    既然有根据ID属性来搜索,把select标签加上共有的后缀或者前缀就行了,避免每个select标签都需要写ID属性,这部分的东西由JS进行完成,这里由后缀进行完成,代码如下:

$(".chosen-select").each(function () {
   var field = $(this);
   if (!field.attr("id")) {
      field.attr("id", field.attr("name") + "_chosen");
   } else {
      field.attr("id", field.attr("id") + "_chosen");
   }
});

    初始化chosen部分

$(".chosen-select").chosen({
   allow_single_deselect : true,
   search_contains : true,
   no_results_text : '没有匹配项!'
});

    由于validateEngine默认是blur进行validate,而chosen没有blur事件,故而加上验证事件

// chosen-change 验证值
$(".chosen-select").chosen().change(function () {
   $(this).validationEngine("validate");
});

    最后在启动validateEngine时使用后缀检索ID

//初始化验证框架
$("#buildingForm").validationEngine({
    prettySelect : true,
    useSuffix: "_chosen"
});


共有 人打赏支持
粉丝 4
博文 4
码字总数 1331
×
FelixFly
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: