设置第一个选项select2

Set the first option select2

我想默认将第一个位置设置为 select2 下拉列表,我已经尝试过但是它不起作用:

$('#mylist').val($('#mylist option:first-child').val()).trigger('change');

我试过的其他方法;

$('#mylist').val(1);

但问题是我不知道值是什么,因为它取决于查询并且它不会总是相同的值。

我没有设置下拉值来自HTML,但它是一个隐藏的输入,并且在查询中加载值

我希望有人能帮助我

此致!

如果您使用 Select2 4.x 只需触发 change.select2

$('#mylist').val(1).trigger('change.select2');

最好使用属性说明符并将该元素的 selected 属性设置为 true,如下所示:

$('option[value="op2"]').prop('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select id="list">
  <option value="op1">Option 1</option>
  <option value="op2">Option 2</option>
  <option value="op3">Option 3</option>
  <option value="op4">Option 4</option>
</select>

然后将 op2 更改为所需默认选项的任何 value 属性。

请这样做

$('select#mylist').val(1).select2();

这对我有用:

$('#mylist option:eq(0)').prop('selected',true);

请试试这个:

$('#yourSelect2').val($('#yourSelect2 option:eq(1)').val()).trigger('change');

来自 eq() 的值取决于您想要 select

正如您所知,Select2 只需要特定格式的数据[id="id_value",text="data_linked_to_id"]

假设您想要 select 第一个项目,您应该有它的 ID,select2 使用它来列出所有项目。(这里第一个 ID 为 1)

$('#selectElementId').val("1"); $('#selectElementId').trigger('change');

如果要设置多个项目 selected 然后传递 id 数组。

ids=["1","3","4"]

$("#selectElementId").val(ids);

$("#selectElementId").trigger('change');

           **OR**

$("#selectElementId").val(["1","3","4"]);

$("#selectElementId").trigger('change');

第 1 步: Select 您的 select(s) 的第一个选项 - 不仅适用于 select2

$('#myForm').find('select').find('option:eq(0)').attr('selected','selected');

第 2 步: 触发器select2 变化

$('#myForm select').trigger('change.select2');