2016-08-04 2 views
0

Насколько я знаю, этот флажок можно определить как логическое право. Однако мне нужно сделать условие, если более 3, тогда он что-то сделает. На данный момент я просто предупреждаю вас, знаю ли это условие. Может ли кто-нибудь помочь?Как проверить, был ли установлен флажок более 3?

$(document).delegate('.sBorrow', 'change', function(){ 
      var sBorrowClass = $(this).attr('class'); 
      var sBorrowValue = $(this).attr('value'); 
      var sBorrowName = $(this).attr('name'); 
      var sBorrowChecked = $(this).attr('checked'); 
      var checked = this.checked; 

      if(checked){  
       alert("You are selecting too many"); 
       setsession(sBorrowValue, "SET"); 
      } 
      else{ 
       setsession(sBorrowValue, "UNSET"); 
      } 
     }) 

ответ

1

Вы можете сохранить количество раз флажок проверялись с помощью опции data.

В моем примере я увеличил счетчик ТОЛЬКО, когда был установлен флажок (а не когда он был снят).

$(document).on('change', '.set-counter', function() { 
 
    // If the checkbox is not checked - return 
 
    if (!$(this).is(':checked')) { 
 
    return; 
 
    } 
 
    
 
    if ($(this).data('counter')) { 
 
    $(this).data('counter', $(this).data('counter')+1) 
 
    } else { 
 
    $(this).data('counter', 1) 
 
    } 
 
    
 
    if($(this).data('counter') == 3) { 
 
    alert('Checked too many times') 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="checkbox" name="c1" value="v1" class="set-counter" />

+0

Благодаря Dekel, я постараюсь его в момент – AhKing

+0

ли он работать на вас? – Dekel

+0

Im пытается разобраться. Я хочу кое что спросить. Вы меняете код 'delegate' на' on'. Это имеет значение? – AhKing

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