2

我有一个附加到 SELECT 元素的 Select2 jquery 插件。Select2 具有 allowClear 属性。

当我在列表中选择一个值时,相应的输入框没有设置为反映所选值。所选值由 JQGRID 编辑表单设置。

这就是我创建选择列的方式:

        {name: "responsable", width: 200, editable: true, edittype: "select", formatter: 'select', editrules: {required: false}, editoptions: {style: 'width: 310px', value: '{{ usuarios }}', dataInit: function(el) {
                    $(el).select2(
                            {
                                placeholder: "-[Seleccione responsable]-",
                                width: 310,
                                allowClear: true
                            });
                }}, stype: 'select', searchoptions: {sopt: ['eq'], value: '{{ usuarios }}'}},

当我第一次打开编辑对话框时,输入框设置为网格中的值,但是当我选择另一个元素时,旧值显示在输入文本中,但是,当我展开选择列表时,出现正确的值选择。

我该如何解决这个问题?

谢谢詹姆

4

1 回答 1

0

Select2 绑定到基础更改事件。如果您以编程方式更改值($.val例如通过 ),则不会触发此事件,因此您必须手动触发它:

$(el).val('some new value').trigger('change')

这将导致 select2 接受更改并正确更新。

更多信息可以在 Select2 的示例页面中找到,位于programmatic access.

于 2015-03-01T15:02:57.563 回答