twitter-bootstrap - 单击选项时, Bootstrap 模式上的 Select2 消失?

标签 twitter-bootstrap modal-dialog jquery-select2

enter image description here
enter image description here
为什么单击选项结果时 select2 会消失?它使用 ajax 源数据,当单击搜索结果时,选项选择消失。

  • Select2 版本:4.0.5
  • jQuery 版本:jQuery v1.11.1

  • 我使用 codeigniter,这是我的代码:

    意见
    <!-- Modal Tambah -->
    <div aria-hidden="true" aria-labelledby="myModalLabel" tabindex="-1" role="dialog" id="modal_form" class="modal fade">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button aria-hidden="true" data-dismiss="modal" class="close" type="button">×</button>
                    <h4 class="modal-title"></h4>
                </div>
                    <form action="#" id="form" class="form-horizontal">
                <!--    <input type="hidden" value="" name="id"/> -->
                    <div class="modal-body form">
                        <div class="form-body">
                            <div class="form-group">
                                <label class="col-lg-3 col-sm-2 control-label">Tindakan Item</label>
                                <div class="col-lg-9">
    
                                    <select name="tindakan_item_id" id="tindakan_item_id" class="select_tindakan_id form-control" autofocus="autofocus"></select>
                                    <span class="help-block"></span>
                                </div>
                            </div>
                        </div>
                        </div>
                        <div class="modal-footer">
                            <input type="hidden" name="layanan_pemeriksaan_id" value="<?php echo $layanan_id; ?>">
                            <input type="hidden" name="layanan_tindakan_pasien_id" value="<?php echo $layanan_id; ?>">
    
                            <button type="button" id="btnSave" onclick="save()" class="btn btn-primary">Save</button>
                            <button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <!-- END Modal Tambah -->
    

    这是javascript代码
    $('.select_tindakan_id').select2({
        placeholder: '--- Silahkan Pilih ---',
        dropdownParent: $("#modal_form"),
        width: '100%',
        ajax: {
          url: '<?php echo site_url('perawatan/layanan_tindakan_pasien_/search_tindakan'); ?>',
          dataType: 'json',
          delay: 250,
          processResults: function (data) {
            return {
              results: data
            };
          },
          cache: true
        },
        minimumInputLength: 2
    });
    

    Controller
    public function search_tindakan()
    {
        $json = [];
    
        $this->load->database();
        if(!empty($this->input->get("q"))){
            $this->db->like('nama', $this->input->get("q"));
            $query = $this->db->select('id,nama as text,tindakan_id')
                        ->limit(10)
                        ->get("tindakan_item");
            $json = $query->result();
        }
        echo json_encode($json);
    }
    

    最佳答案

    我今天也遇到了同样的问题,得到解决方案后,我才看到你最后的反馈,已经自己解决了。我的解决方案是为从函数效果中排除 select2 元素添加 .not() 选择器。

    我在用

  • Select2 版本 4.0.11
  • jQuery 版本 3.4.1
  • Bootstrap 版本 4.3.1


  • $("select").change(function(){
        $(this).parent().parent().removeClass('has-error');
        $(this).next().empty();
    });
    


    $("select").not('.select2').change(function(){
        $(this).parent().parent().removeClass('has-error');
        $(this).next().empty();
    });
    

    希望可以帮助其他寻找类似问题的解决方案的人。

    关于twitter-bootstrap - 单击选项时, Bootstrap 模式上的 Select2 消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48063152/

    相关文章:

    css - 具体模态背景定制

    twitter-bootstrap - Bootstrap 3.0 模式

    javascript - 使用AJAX数据源时,可以在Select2中设置查询字符串参数吗?

    javascript - 设置style.display=none后优雅的javascript重新调整

    html - 如何在具有超链接时使整个表格单元格可点击 - 使用 bootstrap v3

    javascript - jQuery:与 removeData() 在不适当的时间执行冲突

    jquery - 预先填充 select2 下拉列表中选定的选项

    javascript - 多级折叠侧边栏箭头方向改变

    javascript - 如何在 Redux 中显示一个执行异步操作的模态对话框?

    jquery - Select2 文本框宽度异常