使用val()和prop取消多选中的值

4

看一下这个代码片段:http://jsfiddle.net/imparator/XPGa8/1/

首先,我选择了下拉列表中的"Volvo"值:

$("select").val('volvo');

稍后,当我尝试像这样取消选择时:

$("select").val('volvo').prop("selected", false);

正如您在fiddle中看到的那样,“volvo”仍然被选中。

我该如何使用jquery在多选下取消选择一个值?

1个回答

7

使用 $("select option[value='volvo']").prop("selected", false); 可以取消选中 Volvo 这个选项。

jsFiddle 示例

同时,你可以通过以下方式标记一个选项为被选中状态:

$("select option[value='volvo']").prop("selected", true);
$("select option[value='audi']").prop("selected", true);

1
如果我想要在一行中选择沃尔沃和奥迪怎么办:$("select option[value='volvo']").prop("selected", true); 或者在一行中取消选择它们? 我只需要用逗号分隔它们吗? - oneiros
1
@imparator 是的,用逗号分隔:$("select option[value='volvo'], select option[value='audi']").prop("selected", true); - bPratik
另一个问题:我有两个多选组件。我能否使用选择器的ID与选项一起使用 $("#selectid1 option[value='volvo']") - oneiros
@j08691 - OP有带有multiple属性的select元素,因此使用val设置多个选择要简单得多,而不是查找option元素并使用prop。 OP的原始问题在此处:https://dev59.com/EXffs4cB2Jgan1znJ_Zc - James Allardice

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接