如何设置jQueryselect 2的选定值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (124)

这属于选择2版本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; }
});

这段代码正在工作,但是,我需要在上面设置一个值,就像在编辑模式中一样。当用户第一次选择一个值时,它将被保存,当他需要编辑该值时,它必须出现在相同的SELECT菜单中(select2),来选择以前选择的值,但我找不到一种方法。

HTML代码:

<input type="hidden" name="programid" id="programid" class="width-500 validate[required]">
提问于
用户回答回答于

若要动态设置Select 2组件的“选定”值,请执行以下操作:

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

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

用户回答回答于

SELECT 2<V4


步骤1:HTML

<input name="mySelect2" type="hidden" id="mySelect2">

步骤2:创建Select 2的实例

$("#mySelect2").select2({
      placeholder: "My Select 2",
      multiple: false,
      minimumInputLength: 1,
      ajax: {
          url: "/elements/all",
          dataType: 'json',
          quietMillis: 250,
          data: function(term, page) {
              return {
                  q: term,
              };
          },
          results: function(data, page) {
              return {results: data};
          },
          cache: true
      },
      formatResult: function(element){
          return element.text + ' (' + element.id + ')';
      },
      formatSelection: function(element){
          return element.text + ' (' + element.id + ')';
      },
      escapeMarkup: function(m) {
          return m;
      }
});

步骤3:设置你的期望值

$("#mySelect2").select2('data', { id:"elementID", text: "Hello!"});

如果你用没有Ajax的select 2你可以这样做:

<select name="mySelect2" id="mySelect2">
  <option value="0">One</option>
  <option value="1">Two</option>
  <option value="2">Three</option>
</select>
/* //////////// "One" will be the selected option */
$('[name=mySelect2]').val("0");

你也可以这样做:

$("#mySelect2").select2("val", "0");

SELECT 2 V4


选择2 v4你可以按以下方式直接追加选项/s:

<select id="myMultipleSelect2" multiple="" name="myMultipleSelect2[]">
    <option value="TheID" selected="selected">The text</option>                                                                   
</select>

或者使用JQuery:

var $newOption = $("<option></option>").val("TheID").text("The text")

$("#myMultipleSelect2").append($newOption).trigger('change');

其他例子

$("select123455").val(5).trigger('change');

扫码关注云+社区

领取腾讯云代金券