0

我正在使用 select 2,并且我有来自 ajax 的 json 格式的数据。

看法:

<select class="form-control qual_id" multiple>
    <option value="">-Select Degree-</option>
    <option value="1">SSC</option>
    <option value="2">HSC</option>
    <option value="3">BBA</option>
    <option value="4">MBA</option>
</select>

阿贾克斯:

var defaultValue = 1,2 // (it can be one id or two ids)

$(`.qual_id option[value=${defaultValue}]`).attr('selected', true);

选择2:

<script type="text/javascript">
$('.qual_id').select2({
  width: 'resolve',
  maximumSelectionLength: 2
});
</script>

如果我从选择标签中删除多个,并且在没有 select2 的情况下使用一个 id 进行操作,它工作正常,但是我如何通过在选择中选择多个值来做到这一点。

安慰:

未捕获的错误:语法错误,无法识别的表达式:.qual_id option[value=1,2]

4

2 回答 2

2

几个月前我回答了一个类似的问题。您可以从Dynamically add item to jQuery Select2 control that using AJAX中引用它。

要回答您的问题,请考虑此示例。

for(let i=0; i<jsonResponse.length; i++) {
    $(".qual_id").each(function() {
            if($(this).val() == jsonResponse[i]) {
            // select the option
        }
    });
}
$('.qual_id').trigger('change'); 

您正在寻找的是.trigger()方法。请参阅Select2 文档

于 2019-10-30T09:01:11.933 回答
0
var defaultValue = [1,2];
$(`.qual_id`).val(defaultValue);

这应该将值 1 和 2 设置为默认选择。

于 2019-10-30T06:56:12.247 回答