2012-07-24 110 views
2

如何使用jquery的val()预选多选html标签中的选项?使用val预选选项()

我的意思是说,你有一个多选组件,你想要预选一些值?

回答

7

假设我理解正确你的问题,你可以通过值的数组到.val()方法:

$("#yourSelect").val(["value1", "value2"]); 

这里有一个working example

+0

有关取消选择怎么样? – oneiros 2012-07-24 18:14:31

+0

只需传递一个空数组,当然。 – Blazemonger 2012-07-24 18:15:54

+1

@imparator - 迭代所选'option'元素的集合,并在要取消选择的元素上调用'.prop(“selected”,false)''。或者再次调用'.val()'并传递你想要选择的值。 – 2012-07-24 18:16:27

3

你可以这样说:

HTML:

<select multiple="multiple"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
</select>​ 

的jQuery:

$("select").val(["volvo", "mercedes"]).prop("selected", true); 

下面是与例如小提琴:http://jsfiddle.net/HCm3e/

+0

你不需要'prop'调用。它没有任何意义,因为它将设置'select'元素的'selected'属性(不是'option'元素)。 – 2012-07-24 18:15:10

+0

@JamesAllardice,该死的,你是对的!感谢指出:) – scumah 2012-07-24 18:19:43

+0

@scumah - 在你的小提琴中,(“选择”,假)不会取消选择。任何想法为什么这样? – oneiros 2012-07-24 19:31:24