首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将显示Select2值,但实际上为空

将显示Select2值,但实际上为空
EN

Stack Overflow用户
提问于 2020-03-07 18:45:25
回答 1查看 46关注 0票数 2

代码语言:javascript
复制
<div class="form-group">
  <select class="form-control js-example-basic-multiple"
    name="regular[]" id="regular" multiple="multiple" required>
    <option value="History">History</option>
    <option value="Political Science">Political Science
    </option>
    <option value="Economics">Economics</option>
    <option value="Education">Education</option>
    <option value="Philosophy">Philosophy</option>
    <option value="Elective Assamese">Elective Assamese
    </option>
    <option value="Elective Hindi">Elective Hindi</option>
    <option value="Arabic">Arabic</option>
    <option value="Mathematics">Mathematics</option>
    <option value="Linguistics">Linguistics</option>
  </select>
</div>

这是我的select2输入。

代码语言:javascript
复制
$(document).ready(function () {
    $('#regular').select2({
        placeholder: 'Select any two from the options',
        maximumSelectionLength: 2,
    });
});

我已经在这里加载了select2.js。我正在从ajax调用中获取数据。

options = data.regular.split(",");

这个option有3个值,我想从数组中选择前两个。因此我的代码是..

代码语言:javascript
复制
option = [options[0],options[1]];
$("#regular").val(option).trigger('change');

现在,选项显示在列表中。但是如果我点击并从输入中选择,一切都会重置,我必须再次选择。如果不更改任何我想要提交的内容,该字段将显示为required。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-07 20:33:15

这里的代码之所以有效,是因为来自服务器的值与选项元素的两个值相同

因此,您的问题可能是选项字符串不存在

,它也是大小写敏感的,所以“阿拉伯语”!==“阿拉伯语”阿拉伯语将不起作用

更改选项标记或更改JSON响应中的值字符串

希望这能对?有所帮助

代码语言:javascript
复制
$(document).ready(function() {

  mySelect = $('#regular').select2({
    placeholder: 'Select any two from the options',
    maximumSelectionLength: 2
  });

  options = 'Economics,Arabic,Education'.split(',');
  option = [options[0],options[1]];

  //simulate ajax using timeout
  setTimeout(function() {
    mySelect.val(option).trigger("change");
  }, 1000);

});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.min.js"></script>
<div class="form-group">
  <select class="form-control js-example-basic-multiple" name="regular[]" id="regular" multiple="multiple" required>
    <option value="History">History</option>
    <option value="Political Science">Political Science
    </option>
    <option value="Economics">Economics</option>
    <option value="Education">Education</option>
    <option value="Philosophy">Philosophy</option>
    <option value="Elective Assamese">Elective Assamese
    </option>
    <option value="Elective Hindi">Elective Hindi</option>
    <option value="Arabic">Arabic</option>
    <option value="Mathematics">Mathematics</option>
    <option value="Linguistics">Linguistics</option>
  </select>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60576731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档