使用 actionscript 取消选中组件中的复选框?

Posted

技术标签:

【中文标题】使用 actionscript 取消选中组件中的复选框?【英文标题】:Use actionscript to uncheck a checkbox in a component? 【发布时间】:2011-07-20 17:12:53 【问题描述】:

我有一个带有复选框的组件,复选框在主代码中绑定到布尔值:

<mx:CheckBox id="LyrClearAll" selected="Application.application.bLyrClearAll"/>  

这适用于除非用户再次与它们交互,否则不会更改的复选框。出现我的问题是因为我想在每次关闭组件时“取消选中”其中一个框。 (我知道除了复选框之外的其他东西会更好,但我试图在这个组件中保持一致。)

我尝试将绑定的布尔变量设置为 false,并且尝试将 checkbox.selected 值设置为 false。两者都不起作用,每次我打开组件时,复选框仍然处于选中状态。

private function makeLyrsPopUp(evt:MouseEvent):void  
  
  var panelLyr:popUpLayers = PopUpManager.createPopUp(this, popUpLayers, false) as popUpLayers;    
  panelLyr.LyrClearAll.selected == false; //?? set checkbox back to unchecked 
  panelLyr["cancelButton"].addEventListener("click", removeMe);
  panelLyr["okButton"].addEventListener("click", submitData);
  PopUpManager.centerPopUp(panelLyr);

  function submitData(event:Event):void  //change layer visibility based on check boxes in popupLayer
  
    bLyrStreet = panelLyr.LyrStreet.selected;
    bLyrParcel = panelLyr.LyrParcel.selected;
    bLyrClearAll = panelLyr.LyrClearAll.selected;
    if (bLyrClearAll)
    
      clearLayers();
      bLyrClearAll == false;  //?? set checkbox back to unchecked
     
    removeMe(event);
  
 

【问题讨论】:

【参考方案1】:

需要将 == false 改为 = false

【讨论】:

【参考方案2】:

bLyrClearAll 应该被声明为可绑定的:

[Bindable]
var bLyrClearAll: Boolean;

【讨论】:

我觉得自己很蠢——问题是我的 == false 应该只是 = false。现在它正在工作。 @Ursula:问和回答你自己的问题也很好。这样,每个人都可以看到,这个问题……得到了回答。 :)

以上是关于使用 actionscript 取消选中组件中的复选框?的主要内容,如果未能解决你的问题,请参考以下文章

如何取消 Halo/Spark TextInput 和 TextArea 组件中的编辑

checkbox:全选全不选单选(慕课网题目)

MFC 菜单项复选框行为

gridview中的第一项在AdapterView.OnItemClickListener中不会更改

表单中的 SwiftUI Picker 不显示来自 CoreData 的复选标记

点击两次以突出显示收藏视图中的复选标记