问题描述
在选择选项中使用 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);
}
});
解决方法
几天前我遇到了同样的问题。我已经从 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