【问题标题】:Error placement, Select2错误放置,Select2
【发布时间】:2015-03-20 17:22:07
【问题描述】:

当我保存包含一个或多个 select2 的表单时,select2 错误放置有问题。

这就是我所拥有的:我有一些带有一些强制性 select2 输入的表单,它们可以正常工作,显示 jQuery Validate 的错误,但我想要的是 html 在我保存表单时跳转到带有错误的 select2。目前,提交处理程序可以很好地跳转到除选择器之外的任何其他元素。

【问题讨论】:

  • 即使您已经发布了答案,您仍然需要使您的问题独立。换句话说,没有相关代码,其他任何人都无法回答这个问题。谢谢。
  • 我同意提前谢谢!

标签: javascript jquery jquery-validate jquery-select2


【解决方案1】:

我最终覆盖了无效的处理程序并调用了 select2 的 id:

invalidHandler: function(form, validator) {
    var errors = validator.numberOfInvalids();
    if (errors) {
        if($(validator.errorList[0].element).is(":visible"))
        {
            $('html, body').animate({
                scrollTop: $(validator.errorList[0].element).offset().top
            }, 100);
        }
        else
        {
            $('html, body').animate({
                scrollTop: $("#s2id_" + $(validator.errorList[0].element).attr("id")).offset().top
            }, 100);
        }
    }
}

【讨论】:

    【解决方案2】:

    使用相同的jQuery验证器,只需移动错误

    $("#your_id").change(function(e) {
       let id_error = `#${$(this).attr('id')}-error`
       if(!$(this).valid()) {
          $(id_error).detach().appendTo($('.select2-container').first())
       }
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 2017-07-15
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-09
      相关资源
      最近更新 更多