放置错误,选择 2
Error placement, Select2
我在保存包含一个或多个 select2 的表单时遇到 select2 错误放置问题。
这是我所拥有的:我有一些带有一些强制性 select2 输入的表单,它们可以正常显示 jQuery Validate 的错误,但我想要的是 html 跳转到 select2保存表单时的错误。目前,提交处理程序可以很好地跳转到除选择器之外的任何其他元素。
我最终覆盖了无效的处理程序并调用了 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);
}
}
}
使用相同的jQuery验证器,只需移动错误
$("#your_id").change(function(e) {
let id_error = `#${$(this).attr('id')}-error`
if(!$(this).valid()) {
$(id_error).detach().appendTo($('.select2-container').first())
}
})
我在保存包含一个或多个 select2 的表单时遇到 select2 错误放置问题。
这是我所拥有的:我有一些带有一些强制性 select2 输入的表单,它们可以正常显示 jQuery Validate 的错误,但我想要的是 html 跳转到 select2保存表单时的错误。目前,提交处理程序可以很好地跳转到除选择器之外的任何其他元素。
我最终覆盖了无效的处理程序并调用了 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);
}
}
}
使用相同的jQuery验证器,只需移动错误
$("#your_id").change(function(e) {
let id_error = `#${$(this).attr('id')}-error`
if(!$(this).valid()) {
$(id_error).detach().appendTo($('.select2-container').first())
}
})