2014-04-04 9 views
5

jsfidder hier http://jsfiddle.net/a3LwW/4/Wie mehrere Leerzeichen in HTML-Auswahlliste angezeigt werden <option></option>

Mein Problem ist, ich mehrere Räume in den Inhalt von <option>

jQuery val() gibt mir korrekten Wert haben, aber Browser macht die <option> als wenn nur ein Leerzeichen in der Zeichenfolge vorhanden ist.

Gibt es eine Möglichkeit, mehrere Räume korrekt in <option> ??

Ich versuchte <option><pre>three spaces</pre></option>, aber es tut nicht was ich will.

spaces in select option

HTML

<select id="list"> 
    <option>one space</option> 
    <option>two spaces</option> 
    <option>three spaces</option> 
</select> 
<p>Current Value:<pre id="val"></pre></p> 

JS

function update_val() { 
    $('#val').text($('#list').val()); 
} 

$('#list').change(update_val); 

//init 
update_val(); 

Antwort

7

Verwenden &nbsp; (in der Regel sollten Sie dies nicht für den Abstand, aber Sie don't have many more options in <select> elements):

<select id="list"> 
    <option>one space</option> 
    <option>two &nbsp;spaces</option> 
    <option>three &nbsp;&nbsp;spaces</option> 
</select> 

Updated Fiddle

+0

Interessant, in der Tat kam meine Daten aus Backend durch Ajax, binden an die UI durch knockoutjs. Ich denke, ich kann eine Möglichkeit finden, eine sichtbare Form der Daten der Benutzeroberfläche zuzuordnen. Vielen Dank! – huocp

+0

@huocp Froh, dass ich helfen könnte. Vergiss nicht zu upvote/accept! – SomeKittens

1

Versuchen Sie, die Leerzeichen andere als &nbsp; wie &thinsp;, &ensp; und &emsp;.

Wie

<option>three &emsp; spaces</option> 
+0

Ich muss wirklich Räume auf sichtbare Räume abbilden, da meine Daten in meiner realen App aus JavaScript-Code gebunden sind. Mapping ein Leerzeichen zu einem ' ' ist alles was ich brauche. Aber danke für die verschiedenen Leerzeichen in HTML, ich habe sie nie zuvor benutzt! – huocp

Verwandte Themen