recorrer obtener mostrar dinamico datos data crear buscar atributo array javascript jquery drop-down-menu html-select

mostrar - obtener atributo data javascript



jQuery crea opciones de lista de selección de JSON, ¿no sucede como se anuncia? (3)

¿Cómo es que esto no funciona? (Operando en una lista de selección vacía <select id="requestTypes"></select>

$(function() { $.getJSON("/RequestX/GetRequestTypes/", showRequestTypes); } ); function showRequestTypes(data, textStatus) { $.each(data, function() { var option = new Option(this.RequestTypeName, this.RequestTypeID); // Use Jquery to get select list element var dropdownList = $("#requestTypes"); if ($.browser.msie) { dropdownList.add(option); } else { dropdownList.add(option, null); } } ); }

Pero esto hace:

  • Reemplazar:

    var dropdownList = $("#requestTypes");

  • Con simple javascript antiguo:

    var dropdownList = document.getElementById("requestTypes");


De forma predeterminada, los selectores jQuery devuelven el objeto jQuery. Agregue esto para obtener el elemento DOM devuelto:

var dropdownList = $("#requestTypes")[0];



$("#requestTypes") devuelve un objeto jQuery que contiene todos los elementos seleccionados. Está intentando llamar al método add() de un elemento individual, pero en su lugar llama al método add() del objeto jQuery, que hace algo muy diferente.

Para acceder al elemento DOM en sí, debe tratar el objeto jQuery como una matriz y obtener el primer elemento de la misma, usando $("#requestTypes")[0] .