我有一个附加到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 }}'}},
当我第一次打开编辑对话框时,输入框使用网格中的值设置,但是当我选择另一个元素时,旧值会显示在输入文本中,但是,当我展开选择列表时,选择正确的值。
我该如何解决这个问题?
由于 海梅
答案 0 :(得分:0)
Select2绑定到基础更改事件。如果您以编程方式更改值(例如,通过$.val
),则此事件不会被触发,因此您必须手动触发它:
$(el).val('some new value').trigger('change')
将导致select2获取更改并正确更新。
可以在programmatic access
下的Select2&#39 examples页面中找到更多信息。