2016-02-02 51 views
0

我試圖在jQuery中設置一個<select>的值,其中val()包含一個特殊的符號。嘗試了幾個不同的選項,但無法完成。
請幫忙。如何設置值爲<select>的值包含特殊符號?

$("#newNumOfProv").val("&lt; 5 Providers");
<select class="form-control" value="select" id="newNumOfProv"> 
 
    <option>Select number of provides</option> 
 
    <option>&lt; 5 Providers</option> 
 
    <option>5-20 Providers</option> 
 
    <option>20-100 Providers</option> 
 
    <option>100-500 Providers</option> 
 
    <option>Over 500 Providers</option> 
 
</select>

+0

你想選擇**只值**或者你可以使用'index'? –

+0

在我的情況下,價值是更容易,就我得到這個val的json。 –

+0

解決。一探究竟。只需使用'<5 Providers'作爲值,而不會轉義。 –

回答

1

儘量只使用HTML版本<,爲&lt;僅適用於HTML,而不是值的有效。見下文。

$("#newNumOfProv").val("< 5 Providers");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select class="form-control" value="select" id="newNumOfProv"> 
 
    <option>Select number of provides</option> 
 
    <option>&lt; 5 Providers</option> 
 
    <option>5-20 Providers</option> 
 
    <option>20-100 Providers</option> 
 
    <option>100-500 Providers</option> 
 
    <option>Over 500 Providers</option> 
 
</select>

0

所以

$("#newNumOfProv").val("< 5 providers"); 

工作

但我寧願這裏面使用了正確的價值觀,你真的應該設置:

<select class="form-control" value="select" id="newNumOfProv"> 
    <option value="">Select number of provides</option> 
    <option value"0-4">&lt; 5 Providers</option> 
    <option value="5-20">5-20 Providers</option> 
    <option value"20-200">20-100 Providers</option> 
    <option value="100-500">100-500 Providers</option> 
    <option value="100-500">Over 500 Providers</option> 
</select> 

使用

$("#newNumOfProv").val("0-4"); 

備選地

$("#newNumOfProv").get(0).selectedIndex=1; 
1

&lt;是一個HTML轉義序列。

.val()需要一個簡單的字符串,而不是HTML,所以您應該傳遞實際的<字符。

0

如果你必須使用HTML轉義序列,那麼你可以把它放在一個html元素,抓住文本得到正確的值

$("#newNumOfProv").val($("<div>").html("&lt; 5 Providers").text()); 

FIDDLE