powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Опять select и onchange
7 сообщений из 7, страница 1 из 1
Опять select и onchange
    #35852737
Dnnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Javascript первый раз понадобился только вчера поэтому опыт у меня небольшой..

На страничке, генерируемой oraclebi, есть 4 комбобокса.
С каждым обновлением странички имена у них разные, совпадает только имя класса и name начинается на 'saw_', а также их содержимое.. хотя не в этом дело, как их "вычислить" я уже понял, просто передаваемые параметры в ф-цию onchange зависят от имени комбо => тоже всегда разные.

я добавляю свой, такойже комбо, который при изменении копирует свое значение 4-м стандартным ..
теперь (у них) нужно принудительно вызвать их ф-цию OnChange!
вопрос: как это сделать ?

пс: может есть другие варианты решения ..
...
Рейтинг: 0 / 0
Опять select и onchange
    #35852767
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не описывай сразу onchange (кстати, в js именно так, а не OnChange), а присваивай событию функцию, а потом просто вызывай требуемую. К примеру,
Код: plaintext
1.
2.
3.
4.
document.getElementById("select1").onchange = select1behavior;

function select1behavior() {
    ...
}
И в нужный момент "принудительно" вызываешь onchange:
Код: plaintext
select1behavior();
...
Рейтинг: 0 / 0
Опять select и onchange
    #35853066
Dnnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck,

наверно это неподойдет.. ибо как работает внутри CSelOnColumnChange (что сидит на onchange стандартного комбобокса) я незнаю (и знать нехочу т.к. при вызове раздел странички меняется кардинально, генерируется новый select в субд, данные отчёта группируются по выбранному значению, перерисовывается флешовый график и тд. и тп..)
т.е. заменить CSelOnColumnChange на чтото свое (select1behavior) немогу.

вот до чего допёр.. ChangeMyComboBox - это ф-ция на onchange моего 5го комбобокса.
такие страшные параметры
('d:dashboard~p:bi16dgg4la10iasi~r:mae3qdsvbplrh2p6~v:compoundView!1~v:columnSelectorView!1','saw_118_1b','c6')
взял с исходника странички

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<script language="javascript">
function ChangeMyComboBox() {
var ss = 'test';
var cc =  0 ;
var obj = document.getElementsByTagName('*');
for(i= 0 ;i<obj.length;i++) {
 if (obj[i].name != null) {
  ss = obj[i].name;
  if ((ss.indexOf('saw_')== 0 ) &&
      (obj[i].className=='CSelDropDown') &&
      (ss!='saw_my_combo')) { 
    cc++;
    obj[i].value = saw_my_combo.value;
    if (cc== 1 ) { CSelOnColumnChange('d:dashboard~p:bi16dgg4la10iasi~r:m8k3gfhmk9ihibk5~v:compoundView!1~v:columnSelectorView!1',ss,'c8');
alert('1cc='+cc);
}
    if (cc== 2 ) { CSelOnColumnChange('d:dashboard~p:bi16dgg4la10iasi~r:fsv80n27o7hp68ip~v:compoundView!1~v:columnSelectorView!1',ss,'c5');
alert('2cc='+cc);
}
    if (cc== 3 ) { CSelOnColumnChange('d:dashboard~p:bi16dgg4la10iasi~r:aamdekkhpb7iuh50~v:compoundView!1~v:columnSelectorView!1',ss,'c5');
alert('3cc='+cc);
}
    if (cc== 4 ) { CSelOnColumnChange('d:dashboard~p:bi16dgg4la10iasi~r:mae3qdsvbplrh2p6~v:compoundView!1~v:columnSelectorView!1',ss,'c6');
alert('4cc='+cc);
}
  };
 };
};
};
</script>

сначала печатает 1сс=1 - и ничего не происходит
затем печатает 2сс=2 - и отрабатывает как планировалось один из комбо на страничке
.. и всё, на этом стопорится. никаких ошибок и сообщений не выводит.
...
Рейтинг: 0 / 0
Опять select и onchange
    #35853082
Dnnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сначала поменял if (cc==1) и if (cc==3) местами
отработал также на при 2сс=2 и остановился, Но на страничке отработал другой комбо. как это понимать (?)

затем
убрал все if (cc==..)
теперь опять работает только первый комбо.
как вернуть обработку в проедуру после вызова CSelOnColumnChange ?
...
Рейтинг: 0 / 0
Опять select и onchange
    #35853101
Dnnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(несочтите за говнокод) ..и конеч document.getElementsByTagName('*') заменил на document.getElementsByTagName('select')..
...
Рейтинг: 0 / 0
Опять select и onchange
    #35853111
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dnnn
Код: plaintext
1.
obj[i].className=='CSelDropDown'

getElementsByClassName

А в остальном - debugger Вам в помощь...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Опять select и onchange
    #35853137
Dnnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft
Dnnn
Код: plaintext
1.
obj[i].className=='CSelDropDown'

getElementsByClassName

А в остальном - debugger Вам в помощь...
_________________
"Helo, word!" - 17 errors 56 warnings


да пробывал getElementsByClassName но мой 7й експлорер почемуто отказыевается его понимать
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Опять select и onchange
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]