没有onclick或onchange事件的复选框状态

时间:2017-10-07 16:38:06

标签: javascript jquery html

如何在不必调用函数的情况下获取复选框的状态。

这是针对我的表单所需的特定复杂验证。

我一直想继续听取它的状态。

我需要的东西。

  • checked
  • 时的状态
  • unchecked
  • 时的状态

我知道这有效

    <input type="checkbox" onchange="showAddress3(this)" id="askAddress3">Call my friend to get the address

    <script type="text/javascript">

        function showAddress3() {
            if ($('#askAddress3').is(":checked")) {
                alert("Checkbox is checked.");
            } else if ($('#askAddress3').is(":not(:checked)")) {
                alert("Checkbox is unchecked.");
            }
        }

    </script>

我想检查其状态而不调用其上的函数更改事件,如

    <input type="checkbox" id="askAddress3">Call my friend to get the address

    <script type="text/javascript">

            if ($('#askAddress3').is(":checked")) {
                alert("Checkbox is checked.");
            } else if ($('#askAddress3').is(":not(:checked)")) {
                alert("Checkbox is unchecked.");
            }


    </script>

这仅在Page加载时起作用,而在切换时不起作用。任何建议或解决方法都会非常有用。

2 个答案:

答案 0 :(得分:2)

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="askAddress3">Call my friend to get the address

<script type="text/javascript">
  $('#askAddress3').on('change', function() {
    if ($('#askAddress3').is(":checked")) {
      alert("Checkbox is checked.");
    } else if ($('#askAddress3').is(":not(:checked)")) {
      alert("Checkbox is unchecked.");
    }
  });
</script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

我认为以下是你在找什么?

要在输入代码中没有硬编码onchange=''的情况下触发更改吗?

&#13;
&#13;
$("input[type='checkbox']").on("change", function() {
    if ($('#askAddress3').is(":checked")) {
        alert("Checkbox is checked.");
    } else if ($('#askAddress3').is(":not(:checked)")) {
        alert("Checkbox is unchecked.");
    }
}) ;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="askAddress3">Call my friend to get the address
&#13;
&#13;
&#13;