Come aggiungere opzioni al
-
23-08-2019 - |
Domanda
Il tentativo di aggiungere a livello di opzioni per una discesa, selezionare in IE su Windows Mobile.
Poiché si tratta di IE su Windows Mobile 5, la maggior parte delle soluzioni che coinvolgono getElementID non funzionano, così ho dovuto ricorrere a più plain vanilla HTML script / Java, l'esempio seguente funziona bene in IE 6 e FF, ma non riesce con "Object non supporta questa proprietà o metodo" in 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();
}
Tutte le idee?
Soluzione 2
Trovato la risposta qui:
Per prima cosa ho guardato la fonte di riferimento ufficiale qui: http://msdn.microsoft.com/en-us/library/bb159677. aspx
Ho notato che c'è un metodo Add per la selectObj, così ho provato e ha funzionato ..
ecco il codice di lavoro,
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
}
}
Grazie a tutti
Altri suggerimenti
Ci sono 4 modi (che io sappia) per impostare le opzioni di ... (si spera uno di loro lavora per voi (fateci sapere quale))
//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;
bug di IE con l'impostazione del .innerHTML
function AddSelectOption(selectObj, text, value, isSelected)
{
if (selectObj != null && selectObj.options != null)
{
selectObj.options[selectObj.options.length] =
new Option(text, value, false, isSelected);
}
}
Quindi, il codice sarebbe diventato;
function insertBarcodes()
{
val = document.form1.barcode.value ;
AddSelectOption( document.form1.blist, val, val, false );
}
Il sito afferma che l'autore ha incontrato il problema esatto che lei ha citato. L'autore ammette che non sa perché un oggetto Opzione quattro parametro funziona, solo che lo fa.