javascript - onchange html 值返回后 select2 不起作用

标签 javascript jquery html jquery-select2

我会根据另一个选择框生成 select2 下拉框。第一次发生更改时,它工作正常,它生成 select2 下拉框,但是当我更多时间发生更改功能时,select2 下拉框不起作用。

这是我的代码:

 <div class="col-sm-8">
            <select  class="question form-control search-select" name="question_id">
                <option value="">Please choice a question </option>
                @if(!empty($questions) && count($questions) > 0)
                    @foreach($questions as $question)
                        <option value="{{ $question->id }}" data-page-number="{{$question->question_page_no}}">{{$question->question_title}}</option>
                    @endforeach
                @else
                    <option value="">Data not found.</option>
                @endif
            </select>
        </div>

 <div class="form-group">
        <label class="col-sm-3 control-label" for="form-field-1">
            <strong>Answer</strong>
        </label>
        <div class="col-sm-8">
            <select id="answer" multiple="multiple" class="question-value answer-select" name="question_value">
            </select>
        </div>
    </div>

jQuery:

$.ajax({
  type:"GET",
  url:site_url + '/admin/question/value/ajax/'+question_id,
  success: function (data) {
    $('.question-value').html(data);
    generateSelect2();
  },
});
function generateSelect2() {
  if($('.answer-select').length) {
    $('.answer-select').select2({
      allowClear: true,
      width: '100%',
      placeholder: "Please choice answer(s)"
    });
  }
}

最佳答案

您应该首先使用 .select2('destroy') 销毁它,然后初始化它以供新用途:

function generateSelect2() {
  if($('.answer-select').length) {
    $('.answer-select').select2('destroy').select2({
      allowClear: true,
      width: '100%',
      placeholder: "Please choice answer(s)"
    });
  }
}

希望这有帮助。

关于javascript - onchange html 值返回后 select2 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45389113/

相关文章:

javascript - 如何缓存另一个站点的 iframe?

jQuery 设置交替颜色行

javascript - 为字符串创建动态段落

html - 如何将网页中的代码自动换行成固定的页面宽度

javascript - 有没有办法从两个范围输入中获取值并为方程提供自定义值?

javascript - Bootstrap : ScrollSpy and smooth scroll

javascript - 页面加载时将不透明度从 0 设置为 1

javascript - 动态加载带有选项卡的表单

html - 如何使用安装在您计算机中的字体到一个网站?

javascript - JQuery 图像 slider 和 CSS 过渡只工作一次