Динамически добавляя и выбирая пункт меню в XUL - PullRequest
2 голосов
/ 28 сентября 2011

Я использую объект Javascript, содержащий список телефонных кодов, для создания выпадающего меню в XUL.Мой объект имеет такую ​​форму:

var CountryCodes = {
  "Afghanistan":"+93",
  "Albania":"+355",
  "Algeria":"+213"
}

Код для заполнения menupopup выглядит следующим образом:

var docfrag = document.createDocumentFragment();

for( var country in CountryCodes ) {
  var this_country = document.createElementNS(XUL_NS,'menuitem');
  this_country.setAttribute( 'label', country );
  this_country.setAttribute( 'value', CountryCodes[ country ] );
  docfrag.appendChild( this_country );
}
$('countryCodePopup').appendChild( docfrag );
$('countryCode').setAttribute( 'selectedIndex', 0 );

и мой XUL выглядит следующим образом:

 <menulist id="countryCode">
    <menupopup id="countryCodePopup"></menupopup>
 </menulist>

Однако, когда я запускаю его на странице, пункт меню создается правильно, но первый элемент меню не выбирается.Я попытался установить выбранный атрибут на одном из полей, но результат тот же.Что мне здесь не хватает?

Спасибо!Luka

Обновление: Оказывается, я неправильно установил selectedIndex.Это должно было быть сделано так: $ ('countryCode'). SelectedIndex = 10;

1 Ответ

2 голосов
/ 29 сентября 2011

Попробуй так:

 document.getElementById("countryCode").selectedIndex = 10;

Для справки, пожалуйста, проверьте это: https://developer.mozilla.org/en/XUL_Tutorial/Manipulating_Lists

...