2011-08-30 106 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