2016-11-08 141 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> 

但每次只去了别的

时间,它是一个手风琴。所以每次如果添加联系人的ID改为:

<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> 

奥凯,我现在有这样的:

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

为什么你要阻止我的帐户?这是所有第三次!我也可以倒下每一个帐户! – SavantCode

+0

我不知道你在说什么。我无法阻止您的帐户或执行基本用户功能以外的任何操作。 – rob

相关问题