2011-08-30 158 views
0

我有幾個選項的多選場形式,它看起來像這樣:JQuery的選擇多選選項

<select id="testselect"> 
    <option value="Value A">Value A</option> 
    <option value="Value B">Value B</option> 
    <option value="Value C">Value C</option> 
    ... 
</select> 

還有的是,在加載的形式,接收逗號相關的輸入字段來自查詢字符串的分隔文本值(即值A,值E)。我一直在試圖做的是讓JQuery通過在逗號之間查找然後將輸入值與選項值進行匹配來分隔該文本字符串。如果輸入字段中有值,則通過添加selected =「selected」屬性來選擇相應的選項。

有沒有人有任何想法?在意識到它超出了我的頭腦之前,我沒有深入瞭解這一點。提前謝謝了。

回答

1

試試這個

var values = "Value A, Value E"; 
var $options = $("#testselect option"); 
$.each(values.split(","), function(){ 
    $options.filter("[value='"+this+"']").attr("selected", true); 
}); 
+0

問題:當你說var values =「Value A,Value E」;這是否考慮到傳入的查詢字符串對於每個表單會有所不同?換句話說,有時它會是「價值A,價值C」或有時候「價值B」等。 – kramden88

+0

@ kramden88 - 這只是一個例子,你可以在'values'變量中有任何東西。 – ShankarSangoli

+0

謝謝你的澄清,我用var values = $(「#textfield」)。val();它運作得很好。謝謝! – kramden88

0

有很多方法可以做到這一點,但這裏是這樣的。 http://jsfiddle.net/cBBkG/

我認爲「輸入」變量將包含您從查詢字符串中得到的任何內容。

+0

這個解決方案也很好,謝謝! – kramden88