首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不触发更改事件的情况下选中复选框?

如何在不触发更改事件的情况下选中复选框?
EN

Stack Overflow用户
提问于 2011-05-11 16:53:35
回答 5查看 21.5K关注 0票数 9

我有一个简单的复选框:

代码语言:javascript
复制
r = new Ext.form.Checkbox({
    listeners: {
        check: function(checkbox, checked) {
        }
    }
}

r.setValue(true);

如何在没有火情检查的情况下选中复选框(我只想通过鼠标点击来检查火情)?(setValue不工作)。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-11 18:11:19

您应该在设置该值之前暂停事件,并在此之后恢复事件。例如:

代码语言:javascript
复制
myCheckBox.suspendEvents(false); // Stop all events. 
                                 //Be careful with it. Dont forget resume events!
myCheckBox.setValue(!myCheckBox.getValue()); // invert value
myCheckBox.resumeEvents(); // resume events
票数 29
EN

Stack Overflow用户

发布于 2012-01-12 05:50:23

你为什么不直接设置

代码语言:javascript
复制
r.checked = true, 

这不管用吗?尽管它应该是有效的。

票数 1
EN

Stack Overflow用户

发布于 2012-09-11 15:54:34

为什么不直接设置r.checked = true,这不起作用吗?

设置选中的属性仅影响未呈现的控件分配初始控件值。渲染后,您不能使用此选项来更改值。

挂起/恢复事件是在不发送通知的情况下更改控件值的良好做法。

你也可以将选中状态直接放到dom元素中:

item.el.dom.checked = true;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5961625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档