展开我当前的功能以显示消息并更改选择

时间:2016-10-06 15:13:03

标签: javascript jquery html if-statement checkbox

目前我有一个简单的JS函数,如果用户选择2,3,4或5,则取消选择1或者如果选择1,则取消选择2,3,4和5并显示消息。

我想扩展脚本以显示新消息,如果选择了超过三个其他选择,则选择1。

我如何扩展代码以显示新消息并选择" one"如果选择了2个以上的其他选项?

HTML

<input type="checkbox" class="singlecheck"/>
one <br/>

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

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

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

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

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

<div id="warning-two" style="display:none">you have selected more than 2 options we have defaulted you to option 1</div>

JS

$('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();
    }
});

完整的工作系统

Fiddel

1 个答案:

答案 0 :(得分:0)

基本上,每次点击其中一个时,你需要统计你检查过的'multicheck',这可以这样做:

if($('input.multicheck:checked').length>1) {
        $('#warning-two').show();
        $('input.singlecheck').prop('checked', true);
        $('input.multicheck:checked').prop('checked',false)
}