2016-11-08 6 views
-2

私はチェックボックス付きのフォームを持っています。特定のチェックボックスがオンになっているかどうか確認したい 私はこのようにそれを試してみてください。フォームのチェックボックスが選択されているかどうかをチェックする方法は?

jQuery.validator.addMethod("checkDuplicate",function(value) { 
    //var user_id = $(this).closest("form").attr('id'); 
     var id = $('#my_form').closest('form').attr('id'); 

     console.log(id); 
     var ka = $('#ID').val(); 
     if ($("#contactpersonen_canseestock_2").is(':checked') && $(#my_form':checkbox:checked').length == 1) { 
     console.log("checkbox checked; dont check duplicate email"); 
     return true; 
     } 
     else{ 
     console.log("checkbox not checked; check duplicate email"); 
     if ($("#contactpersonen_canseestock_2").is(":checked")) 
     { 
      console.log('hoi'); 
} 
     console.log(ka); 
     return false; 
     } 
    }, "Email adres bestaat al"); 

    jQuery.validator.classRuleSettings.checkTotal = { checkTotal: true }; 

と、これはhtmlです:

<div class="contact-label span2"> 
      <label for="contactpersonen-email">Email adres</label> 
      <div class="contact-input-field"> 
      <input type="text" class="input-text span2 contactpersonen-email1 required checkDuplicate" id="contactpersonen_email1" name="contactpersonen_email1"></input> 
      </div> 
     </div> 

が、それだけで他の

に行くたびに、それはアコーディオンです。おけば、私はこのように今それを持っている

<div class="contact-label span11 rights" id="formid"> 
      <div class="row-fluid"> 
      <div class="span3"> 
       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canorder_0" id="contactpersonen_canorder_0"></input> 
       <label class="checkbox" for="contactpersonen_canorder_0">Mag border plaatsen</label> 

      <input type="checkbox" class="required checkTotal" value="Y" name="contactpersonen_canseestock_0" id="contactpersonen_canseestock_2"></input> 
       <label class="checkbox" for="contactpersonen_canseestock_0">Mag goederen afhalen</label> 
      </div> 
      <div class="span3"> 
       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canseeorders_0" id="contactpersonen_canseeorders_0"></input> 
       <label class="checkbox" for="contactpersonen_canseeorders_0">Mag orders inzien</label> 

       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canaddaddress_0" id="contactpersonen_canaddaddress_0"></input> 
       <label class="checkbox" for="contactpersonen_canaddaddress_0">Mag bezorgadressen aanpassen</label> 
      </div> 
      <div class="span3"> 
       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canseeprice_0" id="contactpersonen_canseeprice_0"></input> 
       <label class="checkbox" for="contactpersonen_canseeprice_0">Mag netto prijs zien</label> 

       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canseecredit_0" id="contactpersonen_canseecredit_0"></input> 
       <label class="checkbox" for="contactpersonen_canseecredit_0">Mag facturen en creditfacturen inzien</label> 
      </div> 
      <div class="span3"> 
       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canseepickup_0" id="contactpersonen_canseepickup_0"></input> 
       <label class="checkbox" for="contactpersonen_canseepickup_0">Mag wijzigingen doorgeven</label> 
      </div> 
      </div>   
     </div> 

を:あなたが連絡先を追加するのであれば、すべての時間は、idが変更さ

jQuery.validator.addMethod("checkDuplicate",function(value) { 
    //var user_id = $(this).closest("form").attr('id'); 
     var id = $('#my_form').closest('form').attr('id'); 
    var hallo = $('form').attr('id'); 
console.log(hallo); 
     console.log(id); 
     var ka = $('#ID').val(); 
     if ($('#contactpersonen_canseestock_2 input:checked').val() == "1") { 
     console.log("checkbox checked; dont check duplicate email"); 
     return true; 
     } 
     else{ 
     console.log("checkbox not checked; check duplicate email"); 
    //if ($("#contactpersonen_canseestock_2").is(":checked")) 
if($('#my_form:checkbox:checked').length == 1) 
     { 
      console.log('hoi'); 
} 
     console.log(ka); 
     return false; 
     } 
    }, "Email adres bestaat al"); 

    jQuery.validator.classRuleSettings.checkTotal = { checkTotal: true }; 

<div class="contact-label span2"> 
     <label for="contactpersonen-email">Email adres</label> 
     <div class="contact-input-field"> 
     <input type="text" class="input-text span2 contactpersonen_email required checkDuplicate" id="contactpersonen_email" name="contactpersonen_email"></input> 
     </div> 
    </div> 

それでもだけ他に

<div class="contact-label span11 rights" id="formid"> 
      <div class="row-fluid"> 
      <div class="span3"> 
       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canorder_0" id="contactpersonen_canorder_0"></input> 
       <label class="checkbox" for="contactpersonen_canorder_0">Mag order plaatsen</label> 

      <input type="checkbox" class="required checkTotal" value="Y" name="contactpersonen_canseestock_0" id="contactpersonen_canseestock_2"></input> 
       <label class="checkbox" for="contactpersonen_canseestock_0">Mag goederen afhalen</label> 
      </div> 
      <div class="span3"> 
       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canseeorders_0" id="contactpersonen_canseeorders_0"></input> 
       <label class="checkbox" for="contactpersonen_canseeorders_0">Mag orders inzien</label> 

       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canaddaddress_0" id="contactpersonen_canaddaddress_0"></input> 
       <label class="checkbox" for="contactpersonen_canaddaddress_0">Mag bezorgadressen aanpassen</label> 
      </div> 
      <div class="span3"> 
       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canseeprice_0" id="contactpersonen_canseeprice_0"></input> 
       <label class="checkbox" for="contactpersonen_canseeprice_0">Mag netto prijs zien</label> 

       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canseecredit_0" id="contactpersonen_canseecredit_0"></input> 
       <label class="checkbox" for="contactpersonen_canseecredit_0">Mag facturen en creditfacturen inzien</label> 
      </div> 
      <div class="span3"> 
       <input type="checkbox" class="input-text" value="Y" name="contactpersonen_canseepickup_0" id="contactpersonen_canseepickup_0"></input> 
       <label class="checkbox" for="contactpersonen_canseepickup_0">Mag wijzigingen doorgeven</label> 
      </div> 
      </div>   
     </div>  
     </div> 

これを行きます画像: enter image description here

そうです。間違っています。そのチェックボックスだけがチェックされていれば、検証はトリガされません。

+0

私はcontactpersonen_canseestock_2' 'のIDを持っているあなたの例には要素を参照してくださいません。あなたは '$(#my_form ':チェックボックス:チェックされた)'にもタイプミスがあります。 – j08691

+0

投稿を更新します。 – SavantCode

+0

はまだエラーがありますか、もう一度確認してください – Dekel

答えて

1

これは私に適したコードです。試してみる。

if ($('#contactpersonen_canseestock_2 input:checked').val() == "1") 
+0

私のために働いた – Tinsten

+0

ありがとうございます。投稿を編集する – SavantCode

0

回答には多くのコードが含まれているため、何をしようとしているのかを正確に伝えるのは難しいです。 しかし、これは、私は常にそれを行う方法です。

<input id="active_box" type="checkbox" /> 

if ($('#active_box').is(':checked')) { 
    // logic 
} 
+0

投稿を編集する – SavantCode

+0

なぜあなたのアカウントをブロックするのですか?これは3回目です!私も何のためにすべてのアカウントをdownvoteすることができます! – SavantCode

+0

あなたは何を言っているのか分かりません。あなたのアカウントをブロックする機能や、基本的なユーザー機能以外の機能を実行する機能はありません。 – rob

関連する問題