为了账号安全,请及时绑定邮箱和手机立即绑定

checked设置为false,但运行后还是默认选中状态

checked = "false"不起作用,默认状态还是选中的

正在回答

8 回答

 
//一般设置属性值为true false的时候,可以用以下两种方法
  element.removeAttribute('propName');
  element.propName = false;


0 回复 有任何疑惑可以回复我~

setAttribute之所以不可以,是因为属性值必须为boolean,也就是上边大神说的https://img1.sycdn.imooc.com//5b626b090001716f08350267.jpg

0 回复 有任何疑惑可以回复我~

 https://bbs.csdn.net/topics/370143982

这个大神回答的,我验证了可以,但是

check.setAttribute("checked", false);

是不可以的;


checked="不管什么都是会选中",这里的checked是attribute,html里只要有了checked就会选中。
而js控制选中的checked不是attribute(string),而是properties(bool)。
这两个还是有区别的,这在jquery1.6+里已经很好诠释了。
非IE测试:
<input type="checkbox" id="check" checked="checked" />
<script>
var check = document.getElementById("check");
alert(check.checked + "," + check.getAttribute("checked"));
check.checked = !check.checked;
alert(check.checked + "," + check.getAttribute("checked"));
</script>



0 回复 有任何疑惑可以回复我~

老师的逻辑有问题,你可以试着改为sharedPreference.getString("name",null)

0 回复 有任何疑惑可以回复我~

程序一开始未执行鼠标点击监听事件对应的函数,因此未执行remove函数,而是直接从XML中取出userName属性(未删除,非null),因此复选框每次都会为选中状态

1 回复 有任何疑惑可以回复我~

if(name.equals(""),这样写就行,name不会等于null

0 回复 有任何疑惑可以回复我~

我怎么设置都没用。。。

0 回复 有任何疑惑可以回复我~

不可以加双引号

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第3季)
  • 参与学习       74912    人
  • 解答问题       420    个

手势识别、数据存储和4大组件,让你牢牢掌握之前的基础知识点

进入课程

checked设置为false,但运行后还是默认选中状态

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信