一尘不染

如何设置jquery select2的选定值?

php

这属于select2版本4之前的代码

我有一个简单的代码,select2从ajax获取数据

$("#programid").select2({
  placeholder: "Select a Program",
  allowClear: true,
  minimumInputLength: 3,
  ajax: {
    url: "ajax.php",
    dataType: 'json',
    quietMillis: 200,
    data: function (term, page) {
      return {
        term: term, //search term
        flag: 'selectprogram',
        page: page // page number
      };
    },
    results: function (data) {
      return {results: data};
    }
  },
  dropdownCssClass: "bigdrop",
  escapeMarkup: function (m) { return m; }
});

该代码有效,但是,我需要像在编辑模式下一样在其上设置一个值。当用户第一次选择一个值时,它将被保存,当他需要编辑该值时,它必须出现在同一选择菜单(select2)中以选择先前选择的值,但我找不到方法。

更新:

HTML代码:

<input type="hidden" name="programid" id="programid" class="width-500 validate[required]">

Select2编程访问不适用于此功能。


阅读 1175

收藏
2020-05-29

共1个答案

一尘不染

要动态设置Select2组件的“选定”值:

$('#inputID').select2('data', {id: 100, a_key: 'Lorem Ipsum'});

其中第二个参数是具有期望值的对象。

更新:

确实可以,只是要注意在新的select2中,标准select2对象中的 “ a_key”“文本” 。所以:{id: 100, text: 'Lorem Ipsum'}

例:

$('#all_contacts').select2('data', {id: '123', text: 'res_data.primary_email'});

感谢@NoobishPro

2020-05-29