Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema al cargar datos a un combobox

Estas en el tema de Problema al cargar datos a un combobox en el foro de Frameworks JS en Foros del Web. Hola, Tengo algunos problemas cuando cargo datos en un combobox. Tengo una aplicación html5, donde todos mis objetos son objetos jquery mobile. En este caso, ...
  #1 (permalink)  
Antiguo 29/05/2012, 15:05
 
Fecha de Ingreso: mayo-2012
Ubicación: Caracas
Mensajes: 8
Antigüedad: 12 años, 5 meses
Puntos: 0
Problema al cargar datos a un combobox

Hola,

Tengo algunos problemas cuando cargo datos en un combobox. Tengo una aplicación html5, donde todos mis objetos son objetos jquery mobile.

En este caso, tengo un combobox que se llena con los datos que obtengo de mi base de datos, a través de un servicio REST que me devuelve los datos en formato json.

Para cargar mis datos en el combobox, lo hago en una función javascript, utilizando $.getJSON, y en la función que recibe los datos, armo un string con el código html del combobox, y coloco en el div este string mediante document.getElementById('div1').innerHTML = html

Con ello, el combo se carga, pero pierde todas las propiedades de jquery mobile. es decir, obtengo este combo , en lugar de este .

Saben a que se debe esto?

mi función en javascript es la siguiente
Código:
function cargarCboUsuarios() {
				var cmb = "selectmenu1";
			$.getJSON("http://midominio.net/servicios/json/listaUsuarios.php?jsoncallback=?", function(data) {
				$("#selectmenu1").html('');
				var ni = document.getElementById('selectUser');
				var newdiv = document.createElement('div');
				var divIdName = 'selectmenu1';
				newdiv.setAttribute('id',divIdName);
				var html = '<label for="selectmenu1">Usuario:</label><select data-native-menu="false" name="selectmenu1" id="selectmenu1" data-theme="b"><option value="option1">Seleccione</option>';
				$.each(data, function(i, item) {
					html = html + '<option value="'+item.login+'">'+item.login+'</option>';
				});
				html = html + '</select>';
				document.getElementById('selectUser').innerHTML = html;
				ni.appendChild(newdiv);
			});	
			}

y mi codigo html es el siguiente:
Código HTML:
<body on onLoad="cargarCboUsuarios()">
    	
        <div data-role="page" data-theme="b" id="page1">
            <div data-theme="b" data-role="header">
                <h3>
                    Cor Processu Mobile
                </h3>
            </div>
            <div data-role="content">
                <div style=" text-align:center">
                    <img style="width: 410px; height: 100px" src="http://assets.codiqa.com/ps/14440/91e66af46c684ea8MOBILE.JPG" />
                </div>
                <div class="ui-grid-a">
                    <div class="ui-block-a">
                    </div>
                    <div class="ui-block-b">
                    </div>
                </div>
                <div data-role="fieldcontain" id="selectUser">
                    
                </div>
                <div data-role="fieldcontain">
                    <fieldset data-role="controlgroup" data-mini="true">
                        <label for="textinput2">
                            Clave:
                        </label>
                        <input id="textinput2" placeholder="" value="" type="password" />
                    </fieldset>
                </div>
                <a data-role="button" data-transition="fade" href="" class="login">
                    Login
                </a>
            </div>
            <div data-theme="b" data-role="footer" data-position="fixed">
                <div data-role="navbar" data-iconpos="top">
                    <ul>
                        <li>
                            <a href="#page1" data-theme="" data-icon="">
                                home
                            </a>
                        </li>
                    </ul>
                </div>
            </div>
        </div>
 </body> 
Tienen alguna idea de cómo puedo solucionarlo?

Gracias.

Etiquetas: jquery
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:22.