2012-03-27 12 views
0

私はこれをしばらく探していますが、私にとってはうまくいくものは見つかりませんでした。jqueryを使用したチェックボックス検証

私は、このチェックボックスを持っている:

<%= Html.CheckBox("cbCodigo") %> <label class="inline" for="Codigo">Codigo</label> 
<%= Html.CheckBox("cbNombreCliente") %> <label class="inline" for="NombreCliente">Nombre del cliente</label> 
<%= Html.CheckBox("cbCiudad") %> <label class="inline" for="Ciudad">Ciudad</label> 

私は一つだけが、時にテキストボックスの変更チェックをこのような何か、とjQueryの.validateを使用している、私は最善の方法何でないことを検証しますこれを検証するため。

tbCodClienteは、私が検索パラメータとして使用テキストボックスで、チェックボックスは、パラメータまたはテキストボックスのオートコンプリート機能の値です

$('#tbCodCliente').change(function() { 
    if ($('#cbCodigo').attr('checked', false) && 
      $('#cbNombreCliente').attr('checked', false) && 
      $('#tbCheckbox').attr('checked', false)) { 

      // function for validate method   
    } 
}); 

私はこの方法を検証しようとしているが、私ドンそれが最善の方法であるかどうかは分かりません。

EDIT: 私はこのような何かをしたいが、まだそれは

('#tbCodCliente').change(function() { 
    if($("input:checked").length == 0) { 
     $("#request-form").validate({ 
      rules: { 
       checkbox: { 
        required: 'input[type="checkbox"]:checked', 
        minlength: 1 
       } 
      }, 
      messages: { 
       checkbox: {"Please check at least one."} 
      } 
     })   

    } 
}); 
+0

私はちょうど質問 –

答えて

2

をどのように機能するかを作る見つけることができ、これらはページ上で使用可能な唯一のチェックボックスある場合、あなたは確認するには、次のjQueryのステートメントを試すことができます:

if($("input:checked").length == 1) 

編集:

具体的には、次の検証コードを変更することができます。

+0

を編集しました!はい、フォームの唯一のチェックボックスがありますが、私はどのようにjQueryの.validate()を使用しますか? –

+2

もしそれらが唯一のものでないなら、コンテナから(クラスまたはidを介して)それを依然として参照することができます:if($( "。container input:checked")。length == 1){/ * ... * /} – Shion

+0

@AlejandroHinestrosa - 私の編集があなたの質問に答えることを願っています。 – Epuri

1

このチェックボックスをオンにすると、他のチェックボックスはオフになります。

$('input:checkbox').change(function() { 
     if (this.checked) { 
      $('input:checkbox:not(#'+this.id+')').attr('checked', false); 
     } 
}); 

デモ:

と単一のチェックボックスが選択のためのhttp://jsfiddle.net/5btfe/はあなたが非常に正確であるepuriの答えを参照することができます確認してください。

+0

はい、本当にありがとうございました!私はjqueryの.validateをどのように使用するかを知りたいのですが、チェックボックスがチェックされていなければ警告を表示します。 –

+0

上記のチェックをカスタムメソッドに追加して、直接call.http://stackoverflow.com/questions/241145/jquery-validate-plugin-how-to-create-a-simple-custom-rule – codef0rmer

関連する問題