【问题标题】:Select2 is not selected when update a select field by ajax call通过ajax调用更新选择字段时未选择Select2
【发布时间】:2021-06-10 12:45:20
【问题描述】:

当我在选择选项中使用select2 类时遇到问题。当我通过 ajax 调用使用字段select2 类插入表单数据时,它工作正常

但是当我首先通过 ajax 调用相同的表单来更新 select2 字段时,它不是我首先插入的选定值。

注意

ajax 响应正常

cdn、css和javascript正确集成

下面我试过了

输入字段

<div class="form-group">
    <label for="inputEmail3" class="col-sm-5 control-label">Status:</label>
    <div class="col-sm-7">
        <select class="form-control select2" name="status_user" id="status_user" style="width:100%;">
            <option value="">-Select-</option>
            <option value="1">Active</option>
            <option value="0">Inactive</option>
         </select>
    </div>
</div>

Javascript

$(document).ready( function () {

    $('.select2').select2()

} );

Ajax 更新

$('#status_user').val('');

$.ajax({

        type:"post",

        url:"./cc/xyz.php",

        data: {
            row_id:                 action_id,
            conditional_value:      14
        },

        success:function(response){

            var responseData =  JSON.parse(response);
            $('#status_user').val(responseData.status_user);
            
        }
    });

【问题讨论】:

  • @Swati 它不工作
  • responseData.status_user 给你什么?
  • @Swati 它给了我01
  • 不知道可能出了什么问题,因为您说 ajax 正在工作并且它给了您 0 1 。但是,只是为了确保您将我在之前的评论中告诉您的那一行放在哪里?

标签: javascript php jquery ajax


【解决方案1】:

几天前我遇到了同样的问题。我已经从Select2 Documentation解决了这个问题

$('#status_user').val('');

用这个替换

var statusSelect = $('#status_user');

并在您的 ajax 请求中添加新行

$('#status_user').val(responseData.status_user);
statusSelect.append(responseData.status_user).trigger('change'); // Add this line

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-27
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多