Comment ajouter des options à
-
23-08-2019 - |
Question
Essayer d'ajouter des options à une programmation SELECT dans goutte IE Windows Mobile.
Parce que c'est IE Windows Mobile 5, la plupart des solutions impliquant getElementID ne fonctionnent pas, donc j'ai dû recourir à HTML / Java script vanille plus clair, l'exemple ci-dessous fonctionne bien dans IE 6 et FF, mais échoue avec « l'objet ne prend pas en charge cette propriété ou méthode » dans 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();
}
Toutes les idées?
La solution 2
trouvé la réponse ici:
Tout d'abord, je regardai à la source de référence officielle ici: http://msdn.microsoft.com/en-us/library/bb159677. aspx
J'ai noté qu'il existe une méthode add pour la selectObj, donc je l'ai essayé et ça a marché ..
Voici le code de travail,
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
}
}
Merci à tous
Autres conseils
Il y a 4 façons (que je sache) pour définir les options ... (je l'espère un d'entre eux travaille pour vous (nous le faire savoir qui))
//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 bug avec le réglage de la .innerHTML
steven blog de harman:
function AddSelectOption(selectObj, text, value, isSelected)
{
if (selectObj != null && selectObj.options != null)
{
selectObj.options[selectObj.options.length] =
new Option(text, value, false, isSelected);
}
}
Alors votre code deviendrait;
function insertBarcodes()
{
val = document.form1.barcode.value ;
AddSelectOption( document.form1.blist, val, val, false );
}
Le site indique que l'auteur a couru dans la question exacte que vous avez mentionné. L'auteur admet qu'il ne sait pas pourquoi un objet Option quatre paramètres fonctionne, mais seulement qu'il fait.