フォームでバリデータプラグインを使用しています。私は3セットのラジオボタンと1セットのチェックボックスを持っています。エラーが発生した場合、エラークラスを特定のエラー要素の隣に配置するように、ラジオとチェックボックスにエラー配置を使用しています。
errorElement: "div",
wrapper: "div", // a wrapper around the error message
errorPlacement: function(error, element) {
if(element.is(":radio")){
error.insertAfter('ul.radio');
error.addClass('error_class');
}else if(element.is(":checkbox")){
error.insertAfter('ul.checkbox');
error.addClass('error_class');
} else{
error.insertAfter(element);
error.addClass('error_class');
}
},
単一のチェックボックスとラジオ グループがある場合は問題なく動作しますが、ラジオ グループが 3 つある場合、クラス ラジオを持つ各ラジオ グループの横に 3 つのエラー セットが生成されます。このような...
私の次のCSSはこんな感じです...
<div class="sgnup-cnt-inpt1">
<h3>Type of Classes *</h3>
<ul class="lst1 radio">
<li>
<span><input type="radio" class="required error" value="Academic" id="type_of_class_a" name="type_of_class"></span>
<label>Academic</label>
</li><li>
<span><input type="radio" class="required error" value="Non-Academic" id="type_of_class_n" name="type_of_class"></span>
<label> Non-academic</label>
</li>
</ul>
<div><div htmlfor="teaching_exp" generated="true" class="error" style="display: block;">Required.</div></div>
<div><div htmlfor="type_of_class" generated="true" class="error" style="display: block;">Required.</div></div>
<div><div htmlfor="gender" generated="true" class="error" style="display: block;">Required.</div></div><div style="display: none;"><div htmlfor="type_of_class_insti" generated="true" class="error" style="display: none;">Required.</div></div>
<div id="radio"></div>
</div>
注if else は、いずれの場合もラジオのエラー配置には使用したくありません。のためにグローバルに使用したい:radio
。名前や他の属性と比較したくありません。