Cómo agregar opciones a
-
23-08-2019 - |
Pregunta
Tratando de programación para agregar opciones a una caída SELECT en el IE de Windows Mobile.
Debido a que este es decir, Windows Mobile 5, la mayoría de las soluciones que implican getElementID no funcionan, por lo que han tenido que recurrir a más sencillo script de vainilla HTML / Java, el siguiente ejemplo funciona bien en IE 6 y FF, pero falla con "Objeto no admite esta propiedad o método" en 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();
}
¿Alguna idea?
Solución 2
Se han encontrado aquí la respuesta:
Primero miré la fuente de referencia oficial aquí: http://msdn.microsoft.com/en-us/library/bb159677. aspx
He observado que hay un método add para la selectObj, así que lo intenté y funcionó ..
Este es el código de trabajo,
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
}
}
Gracias a todos
Otros consejos
Existen 4 manera (que yo sepa) para configurar las opciones de ... (esperemos que uno de ellos trabaja para usted (nos dejó saber qué))
//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;
fallo de IE con el establecimiento de la .innerHTML
Desde de Steven Harman el blog:
function AddSelectOption(selectObj, text, value, isSelected)
{
if (selectObj != null && selectObj.options != null)
{
selectObj.options[selectObj.options.length] =
new Option(text, value, false, isSelected);
}
}
Así que el código se convertiría;
function insertBarcodes()
{
val = document.form1.barcode.value ;
AddSelectOption( document.form1.blist, val, val, false );
}
El sitio afirma que el autor se encontró con el problema exacto que usted ha mencionado. El autor admite que no sabe por qué un objeto Opción de cuatro parámetros funciona, sólo que lo hace.