JQuery anexar
-
05-09-2019 - |
Pregunta
Estoy recibiendo datos de una base de datos a través de AJAX y añadiendo etiquetas a una instrucción de selección. El código siguiente funciona en Firefox, pero sólo parcialmente en el IE. El problema en el IE es que se crea los elementos de opción en el menú desplegable, pero el valor del atributo "texto" está vacío (en el menú desplegable aparece con 30 filas en blanco! Sin embargo, el valor del atributo "valor" se establece correctamente (que es HTE clave primaria de mi base de datos). ¿hay un campo diferente necesito fijar en IE distinto de "texto"? el texto en negrita en teh código de abajo es donde creo que el problema radica. por cierto, el valor no está vacío, y he intentado poner en una cadena literal en su lugar y que todavía está en blanco en el IE.
El código es:
$.each(data, function(key,value){
$("<option>").attr("value", key).attr("text",value).appendTo("#select1");
});
Solución
Me gustaría tratar de utilizar .text () en su lugar:
$.each(data,
function(key,value){
$("option").attr("value", key)
.text(value)
.appendTo("#select1");
});
Creo que esto es lo que se va a?
Otros consejos
Vamos a tratar de nuevo con citas de bloque:
La solución debe ser:
$.each(data,
function(key,value){
$("<option>").attr("value", key)
.text(value)
.appendTo("#select1");
});
"opciones" tiene que estar rodeado de <>
altCognito es correcto ... sin embargo, si se recorre enteros, asegúrese de que utiliza
clave / value.toString () -., Mientras que jQuery no arrojará ningún error y se harán cargo, que va a evitar la sobrecarga adicional
se trata de rendimiento, ¿verdad? :)
$.each(data,
function(key,value){
$("option").attr("value", key.toString())
.text(value.toString())
.appendTo("#select1");
});
No creo que la solución es correcta publicado. Creo que debe ser:
$.each(data, function(key,value){
$("").attr("value", key)
.text(value)
.appendTo("#select1");
});
no
$.each(data, function(key,value){
$("option").attr("value", key)
.text(value)
.appendTo("#select1");
});
La <> 's nos dejó alguna manera.