js 检测 checkbox 状态时遇到的“诡异”问题

2015-04-03 14:32:24 +08:00
 abccba

环境:Firefox 31.3.0 (Linux/Windows)

通过按钮是否被选中控制另一个组件是否显示,以下代码不work,可能是什么原因呢?
调试发现,无论check或者uncheck按钮,$('#op-checkbox').checked总是为假。

$('#op-checkbox').click(function(){
  if( $('#op-checkbox').checked ){
    alable.show();
   } else{
    alable.hide();
   }
});
4368 次点击
所在节点    JavaScript
26 条回复
tobeyouth
2015-04-03 15:51:44 +08:00
@abccba 是不是页面里多个 $('#op-checkbox')
你可以这样写:
$('#op-checkbox').click(function(){
if( this.checked ){
alable.show();
} else{
alable.hide();
}
});
Yokira
2015-04-03 15:52:18 +08:00
@abccba 抱歉,可以用label把input包住~~
crs0910
2015-04-03 15:55:12 +08:00
你在逗我? <label id="op-checkbox">
$('#op-checkbox') 连 input 都没选到.
abccba
2015-04-03 15:59:48 +08:00
@tobeyouth 额,是有多个checkbox,分别对应多个“块”,每个checkbox负责一个“块”的显示。
jinganchuqi
2015-04-03 18:17:19 +08:00
if($("input:checkbox:checked").val()){
###
}
这样应该可以的!
andy12530
2015-04-03 18:43:29 +08:00
disabled
readonly
autofocus
checked
这种属性级的用prop,
如果是自定义属性,用attr.
数据型的用data

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/181345

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX