我有一个大的多选列表,我希望从中获取所有选项,取消选择它们并根据预定义的标准选择新的。
例如
<select>
<option value='1' selected></option>
<option value='2'></option>
<option value='3'></option>
<option value='4' selected></option>
</select>
我从请求中收到选择必须是2和4的例子。问题是我如何选择2和4并取消选择所有其他的,以便它可以快速有效地工作(考虑到这将有数千行数据)
$("select").val("2");
我想到了这一点,但就我所知,它只适用于一个值。 任何有关这方面的帮助将不胜感激。
答案 0 :(得分:1)
首先,您需要将您的选择设置为多选:
<select multiple id='select'>
<option value='1' selected>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4' selected>4</option>
</select>
接下来,您可以选择所有选定的选项,然后取消选择它们:
$('#select').find("option:selected").prop("selected", false);
最后,选择您想要选择的那些,并将它们设置为选中:
$('#select').find("option[value='2'], option[value='4']").prop("selected", true);
段:
$('#select').find("option:selected").prop("selected", false);
$('#select').find("option[value='2'], option[value='4']").prop("selected", true);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select multiple id='select'>
<option value='1' selected>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4' selected>4</option>
</select>
&#13;
答案 1 :(得分:1)
您需要找到合适的选项并选择它们:
$('#foo > option').
prop('selected', false). // deselect by default
filter("[value='2'],[value='4']"). // find our matches
prop('selected', true); // select them
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="foo" multiple>
<option value='1' selected>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4' selected>4</option>
</select>
&#13;