【问题标题】:Select2 input box does not refresh default valueselect2输入框不刷新默认值
【发布时间】:2013-10-14 17:06:40
【问题描述】:

我有一个附加到 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 }}'}},

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

我该如何解决这个问题?

谢谢 詹姆

【问题讨论】:

  • 你有解决这个问题的办法吗?

标签: jqgrid jquery-select2


【解决方案1】:

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

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

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

更多信息可以在 Select2 的examples 页面的programmatic access 下找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-23
    • 2019-10-18
    • 2015-03-11
    • 1970-01-01
    • 2016-10-24
    • 2013-11-24
    • 2020-01-24
    • 1970-01-01
    相关资源
    最近更新 更多