Pregunta

Estoy tratando de establecer los valores para un menú emergente en Dashcode mediante programación. Puedo cambiar el texto / valor de algunos falta de pago definidas estáticamente (desde el inspector), pero no añadir o eliminarlos. Cuando se inicializa la vista se debe tener un número variable de opciones.

    var popup = document.getElementById('popup');
    //popup.options = []; /* Doesn't clear the list */
    //popup.options.length = 0; /* Doesn't clear the list */
    popup.options[0].text = "Option 1";
    popup.options[0].value = "123";

¿Cómo puedo modificar la lista? (LMGTFY no respuestas requerido:)

¿Fue útil?

Solución

Lo resuelto como este en el final:

//remove all
if (popup.hasChildNodes()) {
    while (popup.childNodes.length >= 1) {
        popup.removeChild(popup.firstChild);       
    }
}

//add new
$.each(items, function(i, item) {
    var option = document.createElement("option");
    option.text = item.name;
    option.value = item.id;
    popup.appendChild(option);      
});

Otros consejos

Sólo un arma blanca, pero ¿no podría construir toda la ventana emergente en JavaScript y establecer el número de elementos en el menú desplegable / emergente pasando parámetros. Luego, cuando se desea cambiar cualquiera de los elementos que se pueden llamar el código JavaScript con nuevos parámetros?

O ¿He entendido mal la pregunta.

cuando intento para unir los elementos del menú pop-up dinámicamente similares como lo hace, ven los valores asigno a pop-up elementos de menú son correctos, pero no de los elementos se muestran en la ventana emergente.

¿Hay algo que me falta? Aquí está mi código:

var ddlCurrencyCode = document.getElementById ( 'ddlCurrencyCode'); if (ddlCurrencyCode.hasChildNodes ()) {     while (ddlCurrencyCode.childNodes.length> = 1) {           ddlCurrencyCode.removeChild (ddlCurrencyCode.firstChild);
    } }

for (var i = 0; i         var ddlItem = document.createElement ( "ddlItem");         ddlItem.text = fila [ 'clave'];         ddlItem.value = fila [ 'valor'];         ddlCurrencyCode.appendChild (ddlItem);
}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top