2013-03-14 85 views
1

我有一個多選擇框包含的服務和持續時間。如果用戶選擇了,那麼有些服務其持續時間被捕獲,如果持續時間超過限額則警報是我generated.How可以取消由用戶最後的檢查值,使得持續時間不重置如果超過limit.here是我的代碼:jQuery的取消選中用戶最後選擇的選項

jQuery('.check-service').click(function() { 

    serviceselected = jQuery("input.check-service:checked").length; 
    serviceduration = 0; 

    jQuery('input.check-service:checked').each(function() { 

     serviceduration = parseInt(jQuery(this).val()) + parseInt(serviceduration); 
     if (selectvalues == '') { 
      selectvalues = jQuery(this).attr('title'); 
      serviceids = jQuery(this).attr('id'); 
     } else { 
      selectvalues = selectvalues + "," + jQuery(this).attr('title'); 
      serviceids = serviceids + ", " + jQuery(this).attr('id'); 
     } 

    }); 

    if (serviceduration >= '600') { 
     alert("Selected Service is more than available time slot."); 
     jQuery('input.check-service').attr('checked', false); 
     console.log(); 


    } 

目前其選中所有選中的valued.I只是想取消前面的最後一個選擇的值。 在此先感謝。

回答

1

試試下面的代碼:

jQuery('#CheckboxID').click(function(){  //instead of class use id 
    serviceselected = jQuery("input.check-service:checked").length; 
    serviceduration = 0; 
    jQuery('input.check-service:checked').each(function() { 
     serviceduration = parseInt(jQuery(this).val()) + parseInt(serviceduration); 
     if(selectvalues == '') { 
      selectvalues = jQuery(this).attr('title'); 
      serviceids = jQuery(this).attr('id'); 
     } 
     else { 
      selectvalues = selectvalues + "," + jQuery(this).attr('title');   
      serviceids = serviceids + ", " + jQuery(this).attr('id'); 
     } 

    }); 
    if (serviceduration >= '600') { 
     alert("Selected Service is more than available time slot."); 
     jQuery(this).attr('checked', false); 
     console.log(); 
    } 
}); 
+0

謝謝你...現在它的工作。你拯救我整整一天。 – 2013-03-14 09:18:17

1

你不能最後一次選擇的複選框店在一些全局變量。

var $lastChecked; 

$(".check-service").on("change", function() { 
    if ($(this).attr("checked") == "checked") { 
     lastChecked = $(this); 
    } 
    //your logic 
    //... 
    //now when you have to uncheck: 
    $lastChecked.removeAttr("checked"); 
}) 
+0

謝謝你們的建議......這也爲上述工作,但我選擇不variable.So救我選擇了上面的回答。 還有一件事。我怎樣才能刪除這種未經檢查的屬性的Css風格。 – 2013-03-14 09:27:36

+0

Sudhanshu用於刪除的CSS增加一個線的jQuery下(本).attr( '檢查',假); jQuery的(本).removeClass( '類名'); – Amit 2013-03-15 07:48:15

相關問題