jquery-select2 – Select2不显示所选值

Select2加载我的列表中的所有项目成功,尝试在页面加载时选择特定值时发现的问题。例:

:: put 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有一个值,它的一个隐藏的输入字段,工作正常。

多谢你们!

解决方法

您需要使用 initSelection选项来设置初始值。

如果您使用预定义的select元素来创建select2,则可以使用以下方法

$('select').select2().select2('val','3')

演示:Fiddle

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...