简体   繁体   English

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

[英]Select2 is not selected when update a select field by ajax call

I am facing a problem when I use select2 class in select option.当我在 select 选项中使用select2 class 时遇到问题。 When I insert a form data using a field select2 class by ajax call then it is working properly当我通过 ajax 调用使用字段select2 class 插入表单数据时,它工作正常

But when I update that select2 field by ajax calling same form firstly it is not selected value that I inserted first.但是,当我通过 ajax 首先调用相同的表单更新该select2字段时,它不是我首先插入的选定值。

Note笔记

ajax response is working properly ajax 响应工作正常

cdn, css and javascript integrated properly cdn、css 和 javascript 集成正确

I have tried below我在下面尝试过

Input Field输入字段

<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 Javascript

$(document).ready( function () {

    $('.select2').select2()

} );

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

I was facing same problem few days ago.几天前我遇到了同样的问题。 I have solved this issue from Select2 Documentation我已经从Select2 文档中解决了这个问题

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

Replace by this换成这个

var statusSelect = $('#status_user');

And in your ajax request add new line并在您的 ajax 请求中添加新行

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM