复选框始终处于选中状态。

7
为什么这段代码总是弹出“on”?无论是否选中,它都会打印“on”。
click:
<input type="checkbox" onclick="alert(this.value)" />

http://jsfiddle.net/5yn78jhz/


1
请查看最新版本:http://jsfiddle.net/5yn78jhz/2/ - Kelsadita
3个回答

12

使用"this.checked"代替"value"获取选择或取消选择的真或假。


8
你的复选框没有值,因此JavaScript使用默认值。如果你想要其他值,需要使用value属性 value="some value"。另外,代码没有检查复选框是否被选中,所以它总是会给你复选框的值,无论是否被选中。
例如:
<input type="checkbox" onclick="if(this.checked) { alert(this.value); }" />

只有复选框被选中时才会显示某些内容。


3
这里是onclick操作的工作方式。您可以使用JS函数来检查是否为真/假,例如:

HTML

<input type="checkbox" onclick="check(this)" />

js

function check(obj){
    if(obj.checked){
        alert(obj.value);
    }
}

fiddle(网站)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接