javascript - 如果选择一个复选框取消选择所有其他

标签 javascript jquery html checkbox

好的,所以我有一个复选框列表 1、2、3、4 和 5。我希望函数选择 2、3、4 和 5,但如果选择 1,则取消选择 2、3、 4 和 5,一旦 2 到 5 未被选中,就会在 div 中显示一条消息。

到目前为止,我可以选择 1 和其他之一...并且在选择 1 时出现消息

问题 1 选择 1 后,我无法取消选择 2 到 5

问题 2 即使未选中该框,该消息也会在页面加载时显示。

HTML

 <input type="checkbox" class="" value="checkbox" name="CheckboxGroup1" id="boxchecked"  />
one <br/>

<input type="checkbox" class="check" />
two <br/>

<input type="checkbox" class="check" />
three <br/>

<input type="checkbox" class="check" />
four <br/>

<input type="checkbox" class="check" />
five

<div id="hidden">Two to five can not be selected whilst you have one selected</div>

JavaScript

$('input.check').on('change', function() {
    $('input.check').not(this).prop('checked', false);  
});

$(document).ready(function(){
  $("#boxchecked").click(function ()
  {
      if ($("#boxchecked").is(':checked'))
      {
          $("#hidden").show();
      }
      else
      {
          $("#hidden").hide();
      }              
  });
});

$('input[name=CheckboxGroup1]').attr('checked', false);

最佳答案

这是我的建议。给只能单选的checkbox一个class,其他的checkbox另一个class怎么样?
希望对您有所帮助。

$('input[type="checkbox"]').on('click', function() {
    if($(this).hasClass('singlecheck')) {
       if($('input.multicheck').is(":checked")) {
         $('#warning').show();  
       }
       $('input.multicheck').prop('checked', false);
    } else {
      $('input.singlecheck').prop('checked', false);
      $('#warning').hide();
    }
     
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="singlecheck" value="one" name="CheckboxGroup1" id="boxchecked"  />
one <br/>

<input type="checkbox" class="multicheck" value="two"/>
two <br/>

<input type="checkbox" class="multicheck" value="three"/>
three <br/>

<input type="checkbox" class="multicheck" value="four"/>
four <br/>

<input type="checkbox" class="multicheck" value="five"/>
five

<div id="warning" style="display:none">Two to five can not be selected whilst you have one selected</div>

关于javascript - 如果选择一个复选框取消选择所有其他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39894759/

相关文章:

javascript - 如何处理错误并正确使用 Promise

javascript - 使用 JavaScript 的滚动效果

javascript - Bootstrap-表自定义搜索

javascript - 重绘/刷新/设置超时 - 数据 xmlhttp.responseText

javascript - 数组不会在 javascript 中使用 array.from 生成

javascript - 简化 "toggles"数组项的代码

javascript - 如何做到当我双击 div 时,它不会选择该单词?

javascript - 使用 jQuery 移除 CSS 样式 onLoad

html - 在局部 View 中将两列并排放置

php - onchange 用于动态添加的行