提问者:小点点

通过ajax调用更新select字段时,不选择Select2


在选择选项中使用select2类时,我面临一个问题。当我通过ajax调用使用fieldSelect2类插入表单数据时,它就可以正常工作

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

备注

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);
            
        }
    });

共1个答案

匿名用户

几天前我也遇到了同样的问题。我已从Select2文档中解决了此问题

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

替换为此

var statusSelect = $('#status_user');

并在ajax请求中添加新行

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