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

, но каждый раз, когда он идет только к еще

это Accordian. Таким образом, каждый раз при добавлении контакта идентификатор изменен:

<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'. У вас также есть опечатки в '$ (# my_form ': checkbox: checked')' – 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

I edit the post – SavantCode

+0

Почему вы блокируете мою учетную запись ??? это уже третий раз! Я также могу свести на нет каждый счет! – SavantCode

+0

Я понятия не имею, о чем вы говорите. У меня нет возможности блокировать вашу учетную запись или делать что-либо за пределами основных пользовательских функций. – rob

Смежные вопросы