2016-03-21 4 views
4

Ich habe eine Auswahl Kontrolle. Ich versuche, dieses Steuerelement mit jQuery zu aktualisieren, aber den Wert nach dem Platz weglassen.wie Speicherplatz in HTML erhalten Option Liste auswählen <Option Wert = 'Hallo'> Hallo</option>

if (brandObj != "") { 
    brandObj = eval("(" + brandObj + ")"); 
    $.each(brandObj, function(i, item) { 
     $("#<%=listBrand.ClientID%>").append( "<option value="+ item.Brand + ">" + item.Brand + "</option>"); 
    }); 

} 

Die Daten, die ich vom Server

enter image description here

bekommen Aber nachdem es als HTML-select machen, ist es das Wort weglassen nach space.whole Wert gibt es aber, sobald ich den Wert bekommen, es habe nur die Hälfte (der Wert, der in Anführungszeichen). Ich habe versucht, &nbsp; hinzuzufügen, aber es zeigt, wie es ist. Es wird nicht als Platz gerendert. Bitte geben Sie Ihren Vorschlag an.

enter image description here

+5

'.append ("

+0

'eval()'? Ernsthaft? Ich glaube nicht, dass du das wirklich willst und ich bin mir ziemlich sicher, dass du es nicht brauchst. Welche Werte kann 'brandObj' haben? – Tomalak

+0

Du hast meine Frage nicht beantwortet hat "brandObj"? – Tomalak

Antwort

8

Sie sollten Wert von Attributwert in Zitat einwickeln (Zitat It). Wenn Sie sie nicht wickeln in Zitat dann Wert nach Raum wird als Attribut in Betracht gezogen wird selbst:

$("#<%=listBrand.ClientID%>").append("<option value='"+ item.Brand + "'>" + item.Brand + "</option>"); 
3

Wie ich in den comment erwähnt habe, kann das Problem durch Umwickeln des value Attributwert in Anführungszeichen gelöst werden.

.append("<option value='" + item.Brand + "'>" ... 
        ^    ^

Allerdings werde ich die Verwendung von Option Konstruktor empfehlen dynamisch neue <option> Element zu erstellen.

Demo:

var arr = [{ 
 
    text: 'Hello World!', 
 
    value: 'hello World' 
 
}, { 
 
    text: 'Bye World!', 
 
    value: 'bye World' 
 
}]; 
 

 
var select = document.getElementById('mySelect'); 
 

 
// Iterate over array 
 
arr.forEach(function (obj, i) { 
 
    // Create new <option> with dynamic value and text 
 
    // Add the <option> to the <select> 
 
    select.appendChild(new Option(obj.text, obj.value)); 
 
});
<select id="mySelect"></select>

Verwandte Themen