Как добавить параметры в <SELECT>, в IE Windows Mobile 5 - PullRequest
2 голосов
/ 22 мая 2009

Попытка программно добавить параметры в раскрывающийся список SELECT в IE Windows Mobile.

Поскольку это IE Windows Mobile 5, большинство решений, использующих getElementID, не работают, поэтому мне пришлось прибегнуть к более простому ванильному HTML / Java-сценарию, приведенный ниже пример отлично работает в IE 6 и FF, но завершается неудачно с «Object не поддерживает это свойство или метод "в Windows Mobile 5

function insertBarcodes()
{
val = document.form1.barcode.value ;
i = document.form1.blist.length;
myNewOption = new Option(val , val ); 
document.form1.blist.options[document.form1.blist.length] =myNewOption ; 
 }
 updateCount();

}

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 29 мая 2009

Нашел ответ здесь:

Сначала я посмотрел на официальный справочный источник здесь: http://msdn.microsoft.com/en-us/library/bb159677.aspx

Я заметил, что есть метод add для selectObj, поэтому я попробовал, и это сработало ..

вот рабочий код,

function AddSelectOption(selectObj, text, value, isSelected){
  if(selectObj != null && selectObj.options != null){
    var newOpt = new Option('Hello','Hello'); //create the option object
    selectObj.add(newOpt); //it's the .add(option) method
  }
}

Спасибо всем

2 голосов
/ 22 мая 2009

Есть 4 способа (о которых я знаю), чтобы установить параметры ... (надеюсь, один из них подойдет вам (дайте нам знать, какой))

//option 1
var newOpt = document.createElement('option');
newOpt.innerText = 'Hello';
mySelectObject.appendChild(newOpt);

//option 2
mySelectObject.innerHTML = '<option>Hello</option>';
//KNOWN TO FAIL IN IE6,7,8 (see url below)

//option 3
mySelectObject.outerHTML = '<select><option>Hello</option></select>'; //IE Only

//option 4
var newOpt = new Option('Hello','Hello');
mySelectObject.options[index] = newOpt;

IE ошибка с настройкой .innerHTML

1 голос
/ 22 мая 2009

Из блог Стивена Хармана :

function AddSelectOption(selectObj, text, value, isSelected) 
{
    if (selectObj != null && selectObj.options != null)
    {
        selectObj.options[selectObj.options.length] = 
            new Option(text, value, false, isSelected);
    }
}

Так твой код станет;

function insertBarcodes()
{
    val = document.form1.barcode.value ;
    AddSelectOption( document.form1.blist, val, val, false );
}

На сайте говорится, что автор столкнулся с упомянутой вами проблемой. Автор признает, что не знает, почему работает объект с четырьмя параметрами Option, только то, что он делает.

...