我在我的應用程序中有一個組合框。我也有一個名爲「狀態」的變量。我希望僅當Status變量的值爲5或6時啓用組合框。否則,我不應該能夠更改組合框中的值。它應該只有以前的值..如何在某些情況下禁用組合框的下拉功能?
我寫了一個單擊事件來禁用組合框。但即使組合框被禁用,我也會看到組合框的下拉列表,如果我在下拉列表中選擇了其他值,它就會改變..只有在它被禁用後。
如何避免這一點?我希望禁用下拉功能本身。 這是我寫的代碼。有人指導我。
<mx:FormItem label="Review Status:" width="100%" horizontalAlign="right">
<mx:HBox>
<mx:Label width="30"/>
<mx:ComboBox id="reviewStatus" dataProvider="{Status}"
width="150" click="onStatusChange(event)"/>
</mx:HBox>
動作腳本部分:
private function onStatusChange(event:Event):void
{
var i:int;
for(i=0;i<defectDetails.length;i++)
{
var defStatusId:String=defectDetails.getItemAt(i).DefectStatusId;
if(defStatusId=="5"){
reviewStatus.enabled=true;
}
else if(defStatusId=="6"){
reviewStatus.enabled=true;
}
else{
reviewStatus.enabled=false;
//reviewStatus.selectedItem.label="Review";
reviewStatus.toolTip="Status can be changed only if Defect Status is Verified or Deferred.";
//Alert.show("Status can be changed only if defect status is verified or deferred");
}
}
}
如果我使用Change事件也首次值被改變。只有在此之後,組合框才被禁用。當狀態不是5或6時,如何保留相同的值並禁用組合框?