2014-04-04 3 views
5

여기 jsfidder http://jsfiddle.net/a3LwW/4/<option></option>

내 문제는 내가 <option>

의 내용 jQuery를 val()에서 여러 공백이 나를에게 올바른 값을 제공하지만, 브라우저가 <option>로 렌더링 캐릭터 라인 내에 스페이스가 1 개 밖에없는 경우

제대로 <option> 여러 공간을 렌더링 할 수있는 방법이 있나요?

나는 <option><pre>three spaces</pre></option>을 시도하지만, 내가하고 싶은 일을하지 않습니다.

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(); 

답변

7

사용 &nbsp; (일반적으로 당신은 간격이를 사용하지만 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

처럼

, 사실 내 데이터는 knockoutjs를 통해 UI에, 아약스를 통해 백엔드에서 바인딩을했다. 내가 볼 수있는 형태의 데이터를 UI에 매핑하는 방법을 찾을 수있을 것 같습니다. 감사! – huocp

+0

@huocp 기꺼이 도와 드리겠습니다. upvote/accept를 잊지 마세요! – SomeKittens

1

&nbsp; 이외의 공백 문자를보십시오 (3210) 등 &thinsp;, &ensp;&emsp;있다.

재미있는
<option>three &emsp; spaces</option> 
+0

내 실제 응용 프로그램에서 내 데이터는 자바 스크립트 코드에서 바인딩되므로 볼 수있는 공간에 쉽게 매핑 할 공간이 필요합니다. 하나의 공간을 하나의 ' '으로 매핑하는 것만으로 충분합니다. 그러나 HTML의 공간이 다양하기 때문에 이전에는 사용하지 않았습니다! – huocp