簡體   English   中英

Jquery Javascript復選框選擇/取消選擇

[英]Jquery Javascript checkbox selection/deselection

我有一個HTML表單,里面有一堆復選框。

我想要做的就是這個。 - 如果選中任何一個復選框,我想在javascript中設置一個變量。 - 如果未選擇任何內容,我想將該變量設置為空白。 - 我也在切換復選框的類。

這就是我目前正在做的事情。

var checklist = "";
$('.form3 :checkbox').change(function() {           
    $(this).closest('label').toggleClass("checkselected", this.checked);
    if(window.checklist != "OL" )
    {
        window.checklist = "OL";
    }

});

此代碼的問題是,如果一旦設置了變量,我不確定如何清除它是用戶取消選擇所有復選框,並且不再選擇任何框。

有什么建議嗎? (我正在使用jQuery)

您可能想檢查所選復選框的數量..這樣,您就不會有問題。 (嗯,如果“OL”沒有任何意義......)

var checklist = "";
var checkboxes = $('.form3 :checkbox');
checkboxes.change(function() {           
    $(this).closest('label').toggleClass("checkselected", this.checked);
    checklist = checkboxes.filter(':checked').length;
    // checklist would then be 0 if none selected.
});

要選中您可以使用的所有復選框

$('.form3 :checkbox").attr("checked", true);

取消選擇

$('.form3 :checkbox").attr("checked", false); 

以下代碼是您所需要的:

<html>
<body>
  <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
  <style>
  .checkselected { color: red; }
  </style>
  <div class="form3">
    <label><input type="checkbox" />Option 1</label>
    <label><input type="checkbox" />Option 2</label>
    <label><input type="checkbox" />Option 3</label>
  </div>
  <script>
var checklist = "";
$('.form3 :checkbox').change(function() {           
    $(this).closest('label').toggleClass("checkselected", this.checked);
    if(window.checklist != "OL" )
    {
        window.checklist = "OL";
    }
    var size = $('.form3 :checkbox').length;
    var found = false;
    $('.form3 :checkbox').each(function(index) {
      if (this.checked) {
        found = true;
      }
      if (index == size - 1) {
        if (!found) {
          checklist = '';
        }
      }
    });
    alert(checklist);
});
  </script>
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM