jquery-select2:使用按钮一次选择多个选项

时间:2015-04-13 20:19:11

标签: javascript jquery jquery-select2

我有一个可以选择的用户列表(可以进行多项选择)。当然,所有用户都可以手动选择,这非常好。

此外,我有用户组。大多数情况下,只需要选择组中的用户。因此,我希望通过单击组名称来添加所有用户。

我是select2的忠实粉丝,但我无法让它发挥作用。

我发现可以通过.val()函数元素进行选择。但是这些元素仅在选择了另一个元素时显示。

所以我需要一种更新功能。我怎么能这样做?

我试图触发事件(如更改),但没有成功。

你能帮助我吗?

<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0-rc.2/css/select2.css" rel="stylesheet" />
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0-rc.2/js/select2.full.js"></script>

<script type="text/javascript">
$("#id_invited_user").select2({
 "placeholder": "Select user",
});

$("#testbuttonclick").on('click',function (clickEvent){
            clickEvent.preventDefault();
             $("#id_invited_user").val([1,2]);
          });
</script>

<select multiple="multiple" class="selectmultiple form-control" 
id="id_invited_user" name="invited_user">
<option value="1">Option1</option>
<option value="2">Option2</option>
<option value="3">Option3</option>
<option value="4">Option4</option>
<option value="5">Option5</option>
</select>

<a href="" id="testbuttonclick" >select predefined options</a>

1 个答案:

答案 0 :(得分:0)

除了缺少一个重要细节外,您拥有所有正确的代码。

每当您更改Select2(或任何其他JavaScript组件)的值时,您应始终触发change事件。当值更改时,浏览器会自动触发此事件,但必须在以编程方式更改值时手动触发此事件。

$("#id_invited_user").trigger("change");

这应该始终在您致电.val(xyz)之后发出。