Select2加载我列表中的所有项目成功,这是我在页面加载时尝试选择特定值时发现的问题 . 例:
::将select2放在特定的html元素中,即使加载了所有项目,也不会选择任何值 .
$('#my_id').select2();
::当页面加载时我试图显示所选的特定项目,但是没有按预期工作,因为即使选中,select2也不会显示它 .
$('#my_id').val('3'); //select the right option, but doesn't render it on page loads.
如何在页面加载时弹出选定的选项?
提前致谢 .
更新
::我如何加载所有select2项目(对不起,它的玉,而不是纯HTML):
label(for='category') Category
span.required *
select(id='category', style='width:230px', name='category')
option(value='') - Select -
each cat in categories
option(value='#{cat.id}') #{cat.description}
P.S . :列表中的所有项目都已加载 .
::我如何初始化select2:
只需将以下行代码放在我的javascript上即可成功:
$('#category').select2();
::我如何选择特定值:
- 第一次尝试:
$('#category').select2(
{
initSelection: function(element, callback) {
callback($('#field-category').val());
}
}
);
- 第二次尝试:
$('#category').val($('#field-category').val());
P.S . : #field-category
的值为隐藏输入字段,工作正常 .
多谢你们!
7 回答
您需要使用initSelection选项来设置初始值 .
如果使用预定义的
select
元素来创建select2,则可以使用以下方法演示:Fiddle
设置val后添加触发器更改:
解决此问题的一种非常简单的方法是:
要么
在Select2 4.0及更高版本中不推荐使用here initSelection .
使用Select2 4.0.0这对我有用:
HT:@Kokizzu
这里是如何使select2中的
val
只选择相应的元素 . 由于某种原因,select2不提供按ID查找选择的功能 .在里面:
普通代码
我遇到同样的问题,这对我有用:
对我来说,我在数据集中发送选定的仍然默认选项未被选中 . 我必须做类似下面的事情才能让它发挥作用 -