使用jQuery验证插件和Select2重置表单?
我正在使用jQuery验证来验证我的表单。表单内部有标签选择,我的选择使用使用jQuery验证插件和Select2重置表单?,jquery,jquery-validate,jquery-select2,Jquery,Jquery Validate,Jquery Select2,我正在使用jQuery验证来验证我的表单。表单内部有标签选择,我的选择使用select2jQuery。我在清除“使我的选择2更改必填字段”时遇到问题。如何使用validate和select2一起工作正常 我的代码: $(document).ready(function () { //validate form $(".form_required").validate({ highlight: function (element, errorClass, validClass) {
select2
jQuery。我在清除“使我的选择2
更改必填字段”时遇到问题。如何使用validate和select2一起工作正常
我的代码:
$(document).ready(function () {
//validate form
$(".form_required").validate({
highlight: function (element, errorClass, validClass) {
$(element).parents('.form-control').removeClass('has-success').addClass('has-error');
},
unhighlight: function (element, errorClass, validClass) {
$(element).parents('.form-control').removeClass('has-error').addClass('has-success');
},
errorPlacement: function (error, element) {
if (element.hasClass('select2') && element.next('.select2-container').length) {
error.insertAfter(element.next('.select2-container'));
} else {
error.insertAfter(element);
}
}
});
$('.select2').select2({
allowClear: true,
placeholder: ""
}).on("change", function (e) {
$(this).valid();
});
});
function clear(){
$("#myformHeader select").val('').trigger('change');
}
我的HTML:
<form name="myformHeader" id="myformHeader" class="form-horizontal form_required">
<select type="text" name="ddl" id="ddl" class="form-control select2" required>
<!-- many option -->
</select>
<select type="text" name="ddl2" id="ddl2" class="form-control select2" required>
<!-- many option -->
</select>
<button type="button" onclick="clear()">Reset</button>
</form>
重置
当点击按钮重置时,需要这样显示。我不想把这件事说清楚
如果您想选择2作为可选项,只需删除其必需属性;) 否则,如果你想有一个值或为空,这就可以了 在执行之前。验证() 然后将其添加到验证({})
dll是您选择的名称,而不是id顺便说一句(在您的情况下,名称和id是相同的)您的问题与Select2无关,因为如果没有它,您会遇到相同的问题。在
required
字段上触发.valid()
不会清除验证消息。。。这只是重申了它们
要清除错误的形式,则需要使用:
然后,要清除表单数据,请使用:
按钮:
<button type="button" id="reset">Reset</button>
我不能这样用。因为我有很多选择。属性名称I,m用于不同的其他情况您的意思是有多个select2使用相同的名称,但只有一些必须验证??多个select不使用相同的名称。。我不能使用相同的属性名..只需为每个名称声明一条规则,除非您有100个select2;)规则:{ddl:{atlestoneelement:true},ddl2:{atlestoneelement:true}}我无法理解这句话:“当我从它的make my select2 change required字段中清除时,我有问题”你的问题与select2无关,因为没有它,你也会有同样的问题。在
required
字段上触发.valid()
不会清除验证消息。。。这只是重申了它们。
rules: {
ddl: {
atLeastOneElement: true
}
}
$("#myformHeader").validate().resetForm()
document.getElementById("myformHeader").reset();
or
$("#myformHeader")[0].reset();
<button type="button" id="reset">Reset</button>
$('#reset').on('click', function () {
var form = $("#myformHeader");
form.validate().resetForm(); // clear out the validation errors
form[0].reset(); // clear out the form data
});