【问题标题】:How to set value in Select2 using database data in codeigniter如何使用 codeigniter 中的数据库数据在 Select2 中设置值
【发布时间】:2020-01-14 16:02:32
【问题描述】:

我真的需要帮助解决我的问题,我正在尝试使用我使用 ajax 在我的数据库中获取的数据在我的 select2 中设置一个值。

这是我在 select2 中的视图

  <select multiple id="multiple_assigned" style="width:300px">
          <option value="1">Test1</option>
          <option value="2">Test2</option>
          <option value="3">Test3</option>
          <option value="4">Test4</option>
          <option value="5">Test5</option>
          <option value="6">Test6</option>
          <option value="7">Test7</option>
          <option value="8">Test8</option>
      </select>

数据如下:

0: {users_id: "1"}
1: {users_id: "2"}
2: {users_id: "3"}
3: {users_id: "4"}
4: {users_id: "5"}
5: {users_id: "6"}

这是我的 ajax 的样子:

        $.ajax({
            url: url,
            type: "GET",
            dataType: "JSON",
            data: $('#form').serialize(),
            success: function(data) {

                for(i=0; i<data.length; i++){
                  $('#multiple_assigned').val(data[i]);
                }

            },
            error: function(jqXHR, textStatus, errorThrown) {
                alert('Error adding / update data');
            }
        });

提前谢谢你。我只需要在 select2 中显示我通过数据库获取的所有数据。任何答案都将非常感谢。

【问题讨论】:

  • $("#multiple_assigned").select2(); 在成功函数中的for循环之后添加这个
  • @MohsinMarui 我已经添加了它,但没有任何反应:(
  • @MohsinMarui 它现在正在工作,但它只显示一个数据。

标签: javascript codeigniter jquery-select2


【解决方案1】:
    #use css/select2.min.css
    #use js/select2.full.min.js
    # then add class="select2"
    #Example:
    <select class="select2" multiple>
              <option value="1">Test1</option>
              <option value="2">Test2</option>
              <option value="3">Test3</option>
              <option value="4">Test4</option>
              <option value="5">Test5</option>
              <option value="6">Test6</option>
              <option value="7">Test7</option>
              <option value="8">Test8</option>
    </select>
#then use this script
<script>
    $(function() {
        //Initialize Select2 Elements
        $('.select2').select2()

    })
</script>

【讨论】:

  • 一般是使用select2类从下拉列表中搜索数据
【解决方案2】:

我已经得到答案了。

            success: function(data) {
                //if success close modal and reload ajax table
                var selectedValues = new Array();
                for(i=0; i<data.length; i++){
                    selectedValues[i] =   data[i]['users_id']
                    $('#multiple_assigned').val(selectedValues);
                    }
                $("#multiple_assigned").select2();

            },

我只需要声明一个数组,然后循环遍历它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 2022-06-23
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多