3

我只是想让这个复选框在选中后通过在Javascript中运行一个函数来提醒一条消息。我可以让它显示“已检查”消息,但无法显示“未检查”警报。

<input type="checkbox" id="chbx" onchange="foo()">
<script type="text/javascript">
var checkbox = document.getElementById("chbx");

 function foo(){
   if(checkbox.checked=true){
       alert("Checked!");
         }
   else {
        alert("UnChecked!");
         }
    };
</script>
4

3 回答 3

6

您的 if 语句中有单等号而不是双等号:

if (checkbox.checked=true) {

应该

if (checkbox.checked == true) {

要不就

if (checkbox.checked) {
于 2012-10-27T17:54:11.163 回答
4

您没有使用 比较值=。至少需要==更好===

if(checkbox.checked === true) {}

或者,简化

if(checkbox.checked) {}
于 2012-10-27T17:53:37.807 回答
2

您犯了一个常见的错误,即使用单个=this 实际设置checkbox.checked为 true。如果要进行比较,请确保使用 double ==

此外,复选框只有两个选项;所以如果它没有打开它就会关闭:

这就是我会做的:

<input type="checkbox" id="chbx" onchange="checkbox_changed()">
<script type="text/javascript">
    var checkbox = document.getElementById("chbx");

    function checkbox_changed() {
        if (checkbox.checked == true) {
            alert("Checked!");
        } else {
            alert("UnChecked!");
        }
    }
</script>
于 2012-10-27T17:55:49.167 回答