复选框验证最大不起作用

时间:2016-05-09 21:37:34

标签: html5

我正在尝试使用多个复选框,然后选择检查不超过3个的js脚本。 我在网上找到了代码并且所有评论都表明它有效,但它在我的机器上不起作用。没有错误,但没有任何反应。 这是我在标题中的内容:

<SCRIPT type="text/javascript">


    function KeepCount() {

        var NewCount = 0

        if (document.form1.one.checked)
        { NewCount = NewCount + 1 }

        if (document.form1.two.checked)
        { NewCount = NewCount + 1 }

        if (document.form1.three.checked)
        { NewCount = NewCount + 1 }

        if (document.form1.four.checked)
        { NewCount = NewCount + 1 }

        if (document.form1.five.checked)
        { NewCount = NewCount + 1 }

        if (document.form1.six.checked)
        { NewCount = NewCount + 1 }

        if (document.form1.seven.checked)
        { NewCount = NewCount + 1 }

        if (document.form1.eight.checked)
        { NewCount = NewCount + 1 }


        if (NewCount == 3) {
            alert('Pick Just Two Please')
            document.form1; return false;
        }
    }

然后在我的身体中,我使用id=form1形成了这些复选框:

     <label>
      <INPUT TYPE="checkbox" NAME="one" onClick="return KeepCount()"> One
  </label>
</div>

  <div class="checkbox">
  <label>
    <INPUT TYPE="checkbox" NAME="two" onClick="return KeepCount()"> two
  </label>
</div>

...等

像我说的那样,没有任何反应。没有错误,但没有js。

感谢

1 个答案:

答案 0 :(得分:0)

你可以用更少的行来使用Jquery,请参阅小提琴http://jsfiddle.net/m89k0u95/1/

$('input[type=checkbox]').on('change', function (e) {
    if ($('input[type=checkbox]:checked').length > 3) {
        $(this).prop('checked', false);
        alert("allowed only 3");
    }
});