Полезная информация

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

№102-01-2007 01:14:47

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49

Заполнить menupopup во время открытия xul окна

Есть xul окно, и в нём есть Menulist:

Выделить код

Код:

<menulist .... >
 <menupopup>
   <menuitem label = "empty" />
 </menupopup>
</menulist>

При загрузке страницы, мне надо его заполнить из префов (Там хранится xml-структура, и я вынимаю данные - но это не важно, с этим работает, так как тоже самое работает, но с listbox, а мне надо теперь с menulist)
Какие методы типа appendItem тут нужны? И вообще надо обращаться к всему menulist или именно к menupopup? я на xulplanet так посмотрел, что у menupopup вообще толком методов нету, а повесил тот же скрипт, что работал с listbox- тут не работает =(




Заранее спасибо

Отсутствует

 

№202-01-2007 01:53:22

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Заполнить menupopup во время открытия xul окна

Выделить код

Код:

var mi = document. createElement ("menuitem");
mi. setAttribute ("label", "any label");
mp. appendChild (mi); // mp - menupopup

или так:
http://pastebin.mozilla-russia.org/346


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№302-01-2007 11:39:31

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49

Re: Заполнить menupopup во время открытия xul окна

эх,точно, забыл про первый вариант.
Спасибо!

Отсутствует

 

№402-01-2007 15:52:56

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49

Re: Заполнить menupopup во время открытия xul окна

А вот проблема с назначением selected.
Мне надо чтоб при открытии окна в список уже был первый элемент. Я ставлю через setAttribute("selected",true) но не работает...

Отсутствует

 

№502-01-2007 16:54:34

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Заполнить menupopup во время открытия xul окна

Выделить код

Код:

var m = document. getElementById ("menulistId");
var mi = m. getElementsByTagName ("menuitem");
var found = false;
for (var i = 0; i < mi. length; i++)
    if (mi [i]. label == "...")
    {
        found = true;
        m. selectedItem = mi [i];
        break;
    }
if (!found)
    m. setAttribute ("label", l);

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№602-01-2007 17:50:26

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49

Re: Заполнить menupopup во время открытия xul окна

спасибо, теперь получается надо к menulist обращаться

Отсутствует

 

№702-01-2007 19:48:51

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49

Re: Заполнить menupopup во время открытия xul окна

А вот как такой же список очищать?
Пробовал через removeNode, removeChild, пробовал создавать пустой menupopup и через replaceNode, replaceChild (обращаяся к menulist) но чё-то не получилось

Отсутствует

 

№805-01-2007 02:20:10

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Заполнить menupopup во время открытия xul окна

Пробовал ... но чё-то не получилось

Что-то я не могу угадать код.

Это: http://www.xulplanet.com/references/ele … ulist.html поможет ?


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№914-01-2007 01:32:57

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49

Re: Заполнить menupopup во время открытия xul окна

да, спасибо

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]