Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Сброс значения в ComboBox'е (http://www.flasher.ru/forum/showthread.php?t=97143)

ARTur2 14.06.2007 17:37

Сброс значения в ComboBox'е
 
Допустим есть2 ComboBox'а. Выбираю в первом любое из значений - происходит какое-то действие. Теперь выбираю из второго ComboBox'а - тоже происходит какое-то действие. Вопрос в следущем. Как сделать так, чтобы после того, как мы выбрали пункт из второго ComboBox'а в первом список вернулся к начальному значению, а не оставался "выбраным"?

alilu 14.06.2007 22:23

Код:

_root.cmb1.selectedIndex=0;

cherno_belaya 14.06.2007 22:29

интересует тоже самое только для ChekBoкса
Код:

_root.cmb1.selectedIndex=0;
не помогло

alilu 14.06.2007 22:37

пример из хелпа:
Код:

checkbox1.selected = false;

cherno_belaya 14.06.2007 22:59

делаю вот так,
Код:

if (checkbox1.selected == true){
        checkbox2.selected = false;
        checkbox3.selected = false;
        checkbox4.selected = false;
        } // и так далее для каждого

в результате работает снизу вверх
т.е
если флажек стоит на 4 и выставить его на 3, флажек на 4 исчезнет
но если флажек стоит на 3 и выставить его на 4, исчезнет флажек на 4.

Torero 14.06.2007 23:04

кинь код целиком.

cherno_belaya 14.06.2007 23:06

там http://flasher.ru/forum/showthread.php?t=97151

alilu 14.06.2007 23:10

Код:

cbListener = new Object();
cbListener.click = function(event_obj:Object) {
        if (event_obj.target.selected == true) {
                check2.selected=false;
        } else {
                check2.selected=true;
        }
};
check1.addEventListener("click",cbListener);

если я правильно поняла задачу

cherno_belaya 14.06.2007 23:29

непонятна конструкция (event_obj.target.selected == true)

target - это же свойство TextFormat

alilu 14.06.2007 23:33

это прослушивальщик для чекбокса, висит на клике.
При нажатии на чекбокс мы смотрим. снят ли флаг или нет
Код:

if (event_obj.target.selected == true)

cherno_belaya 15.06.2007 00:22

ну тогда если не сложно расскажите что вообще происходит :)
мы создаем новый объект, определяем для него метод характерный для event_obj, проверяем 1 чебокс, если да, то флаг исчезает на втором чебоксе, если нет, он появляется. далее приписываем чебоксу 1 метод
click, свойственный созданному объекту...

возникает вопрос, что называть event_obj... или что уже имеет такое название, клип, в котором содержится чебокс?

alilu 15.06.2007 00:39

event_obj.target- Это и будет ваш чекбокс на который вы вешаете прослушивальщик.

cherno_belaya 15.06.2007 00:58

тогда с чеками не ясно

я создала два чебокса, вставила ваш код и пытаюсь заставить его работать,
я так понимаю надо, где-то дать чему-нить названия, поэтому и спрашиваю...
в моем русском хелпе нет раздела Components Language Reference

alilu 15.06.2007 01:00

имена экземпляров чекбоксов указали?
instance name во вкладке proptrties

cherno_belaya 15.06.2007 01:09

как их назвать?

alilu 15.06.2007 01:11

ну если исходить из моего кода то check1 и check2
:-)

cherno_belaya 15.06.2007 01:17

так и есть :-)

это код только для первого чека или он распространяется сразу на оба?
работает сверху вниз так же как и у меня

alilu 15.06.2007 01:22

ну для второго напишите подобный. или этот модифицируйте
а что значит сверху вниз?

cherno_belaya 15.06.2007 01:36

то есть снизу вверх, я здесь выше код писала через if..
боюсь, даже представить что будет когда я внесу третий и четвертый чебоксы

cherno_belaya 15.06.2007 01:44

ура-ура получилось, alilu большое спасибо :)

код на всякий случай
Код:

cbListener = new Object();
cbListener.click = function(event_obj:Object) {
        if (event_obj.target.selected == true) {
                check2.selected=false;
                check3.selected=false;
                check4.selected=false;
        }
};
check1.addEventListener("click",cbListener);
bListener = new Object();
bListener.click = function(event_o:Object) {
        if (event_o.target.selected == true) {
                check1.selected=false;
                check3.selected=false;
                check4.selected=false;
        }
};
check2.addEventListener("click",bListener);


cListener = new Object();
cListener.click = function(event_oc:Object) {
        if (event_oc.target.selected == true) {
                check1.selected=false;
                check2.selected=false;
                check4.selected=false;
        }
};
check3.addEventListener("click",cListener);
aListener = new Object();
aListener.click = function(event_as:Object) {
        if (event_as.target.selected == true) {
                check1.selected=false;
                check2.selected=false;
                check3.selected=false;
        }
};
check4.addEventListener("click",aListener);

и все таки мне не дает покоя вопрос про массивы
как это все сделать с помощью массива с учетом того что количество чебоксов неизвестно

alilu 15.06.2007 03:10

Код:

eval("_root.check"+i).selected=false;
а дальше в зависимости от потребностей


Часовой пояс GMT +4, время: 05:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.