Jquery accoda
-
05-09-2019 - |
Domanda
sto ottenendo i dati da un database tramite AJAX e aggiungendo i tag per una dichiarazione prescelta. Il seguente codice funziona nel firefox, ma solo parzialmente in IE. Il problema in IE è che è crea gli elementi di opzione nel menu a discesa, ma il valore dell'attributo "testo" è vuoto (l'elenco a discesa appare con 30 righe vuote! Tuttavia, il valore dell'attributo "valore" viene impostato correttamente (che è HTE chiave primaria dal mio database). c'è un campo diverso ho bisogno di impostare in IE diverso da "testo" il testo in grassetto nel teh codice qui sotto è dove penso che il problema si trova. a proposito, il valore non è vuoto, e ho provato a mettere in una stringa letterale al suo posto ed è ancora vuota in IE.
Il codice è:
$.each(data, function(key,value){
$("<option>").attr("value", key).attr("text",value).appendTo("#select1");
});
Soluzione
Vorrei provare a utilizzare .text () invece:
$.each(data,
function(key,value){
$("option").attr("value", key)
.text(value)
.appendTo("#select1");
});
Credo che questo è ciò che si sta andando per?
Altri suggerimenti
Consente di provare di nuovo con le citazioni di blocco:
La soluzione deve essere:
$.each(data,
function(key,value){
$("<option>").attr("value", key)
.text(value)
.appendTo("#select1");
});
"Opzioni" ha bisogno di essere circondato con <>
altCognito è corretta ... tuttavia, se si sta loop attraverso numeri interi, essere sicuri di utilizzare
chiave / value.toString () -. Mentre jQuery non gettare eventuali errori e lo gestirà, sarà evitare un ulteriore sovraccarico
è tutta una questione di prestazioni, giusto? :)
$.each(data,
function(key,value){
$("option").attr("value", key.toString())
.text(value.toString())
.appendTo("#select1");
});
Non credo che la soluzione postato è corretta. Credo che dovrebbe essere:
$.each(data, function(key,value){
$("").attr("value", key)
.text(value)
.appendTo("#select1");
});
non
$.each(data, function(key,value){
$("option").attr("value", key)
.text(value)
.appendTo("#select1");
});
Il <> s 'siamo lasciati in qualche modo.