无法为JQuery Select2赋值

问题描述 投票:0回答:1

我刚刚阅读了很多论坛,以了解如何为select2分配值。但是没有代码对我有用......

这是我的HTML

  <select class="form-control select2" style="width: 100%;" id="drpSearchSubjCode">
   </select>

我像这样在jquery中初始化select2

$(".select2").select2();

我尝试下面的代码为select2赋值

试试1

var subjId = 1;
$('#drpSearchSubjCode').select2("val", subjId);

试试2

var subjId = 1;
$("#drpSearchSubjCode").select2().select2("val", subjId);

试试3

var subjId = 1;
$('#drpSearchSubjCode').val(subjId).trigger('change');

试试4

var subjId = 1;
$('#drpSearchSubjCode').select2('data', { id: subjId, a_key: 'My Data' });

试试5

var subjId = 1;
$('#drpSearchSubjCode').val(subjId);
$('#drpSearchSubjCode').trigger('change');

试试6

var subjId = 1;
$('#drpSearchSubjCode').select2('data', { id: subjId, text: "Hello!" });

以上代码没有为我工作......任何人都可以帮我找到,问题出在哪里?

jquery html5 jquery-select2
1个回答
1
投票

根据documentation

var data = {
    id: 1,
    text: 'Hello!'
};
var newOption = new Option(data.text, data.id, false, false);
$('#drpSearchSubjCode').append(newOption).trigger('change');

并选择:

$('#drpSearchSubjCode').val('optionvalue').trigger('change');

$('#drpSearchSubjCode').select2();

$('#add').on('click', function(e) {
    var data = {
        id: 1,
        text: 'Hello' + $('#drpSearchSubjCode option').length + '!'
    };

    var newOption = new Option(data.text, data.id, false, false);
    $('#drpSearchSubjCode').append(newOption).trigger('change');
})
$('#sel').on('click', function(e) {
    $('#drpSearchSubjCode').val('AL').trigger('change');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>


<select class="form-control select2" style="width: 100%;" id="drpSearchSubjCode">
    <option></option>
    <option value="AL">Alabama</option>
    <option value="WY">Wyoming</option>
</select>
<button id="add">Add new option</button>
<button id="sel">Select option</button>
© www.soinside.com 2019 - 2024. All rights reserved.