2009-07-06 23 views
1

すべて同じ名前のチェックボックスのグループがあります。それらはすべて異なる値を持っています。彼らはフォームの一部です。彼らはフォーム全体を構成していません。私はそのグループの最後のチェックボックスの後にエラーを表示するチェックボックスをしたい。jQuery検証プラグインのチェックボックスerrorPlacement

jQueryでこれを行うことは可能ですか?

$("#myform").validate({ 
    errorPlacement: function(error, element) { 
    var checkboxes = $("#checkboxes"); 
    if(checkboxes.contains(element)) 
     label.insertAfter(checkboxes[checkboxes.length-1]); 
    }, 
    debug:true 
}) 

どうすればこのことをやりますか?

おかげで、
イアン・マッカ

答えて

2

これは古い質問ですが、フォーム上に同様の機能が必要でした。

jQuery 1.4.2を使用しています。

次のように指定します。

<form id="checkForm" method="get" action=""> 
<ul id="checkboxes"> 
    <li><input type="checkbox" name="checkOne" id="checkOne" value="1" /></li> 
    <li><input type="checkbox" name="checkTwo" id="checkTwo" value="2" /></li> 
    <li><input type="checkbox" name="checkThree" id="checkThree" value="3" /></li> 
</ul> 
<input class="submit" type="submit" value="Submit"/> 

その後、あなたは以下の

$("#checkForm").validate({ 
    rules: { 
     checkOne: "required", 
     checkTwo: "required", 
     checkThree: "required" 
    }, 
    errorPlacement: function(error, element) { 
     if ($("#checkboxes").has(element).size() > 0) { 
      error.insertAfter($("#checkboxes input:checkbox:last")); 
     } else { 
      error.insertAfter(element); 
     } 
    } 
}); 
0

あなただけ

if(checkboxes.contains(element)) { 
    checkboxes.after(label); 
} 
0

は、変数 'ラベル' のコード内で何をしているのです行うことができませんでしたか?

「エラー」変数を使用しないでください。

+0

これは動作していないようです。私はクライアントからのエラーは受信しませんが、エラーメッセージも表示されません。また、フォームは提出しません。 –

+0

jsbin.comでサンプルテストページを作成できませんか?問題をデバッグするのが簡単になります。 – SolutionYogi

1

を行うことができますここでは、ページ上のすべてのチェックボックスで動作します汎用的なソリューションです。グループの最後のチェックボックスの後にエラーメッセージが挿入されます。

$('form').validate({ 
    rules: { 
     checkbox_group_1: { 
      required: true 
     }, 
     checkbox_group_2: { 
      required: true, 
     } 
    }, 
    errorPlacement: function(error, element) { 
     if (element.is(':checkbox')) 
      error.insertAfter($('input[name=' + element.attr('name') + ']').last()); 
     else 
      error.insertAfter(element); 
    } 
}); 
関連する問題