Jquery 使用AJAX在插入后在Select2中设置数据
我将Select2与AJAX一起使用(代码如下): 那么,如果找不到客户端,用户可以使用一个按钮打开一个模式并添加新客户端,是否可以使用新客户端的返回(带有id和namae的json)并将数据(如名称)放入select2中Jquery 使用AJAX在插入后在Select2中设置数据,jquery,ajax,jquery-select2,Jquery,Ajax,Jquery Select2,我将Select2与AJAX一起使用(代码如下): 那么,如果找不到客户端,用户可以使用一个按钮打开一个模式并添加新客户端,是否可以使用新客户端的返回(带有id和namae的json)并将数据(如名称)放入select2中 $('.btn-form-client').click(function() { $.ajax({ url: $('#frm-client').attr('action'), dataType: 'json',
$('.btn-form-client').click(function() {
$.ajax({
url: $('#frm-client').attr('action'),
dataType: 'json',
type: 'post',
data: $('#frm-client').serialize()
}).done(function (data) {
$('#modal-client').modal('hide')
});
return false;
});
我设法做到了。在jQuery中发布后,我得到一个包含新数据的JSON,并设置隐藏输入和select('.select2 ajax')
从v4.x开始,选择2不再使用隐藏的
input
字段。而是将其添加到select
元素中:
var newOption = new Option(data.name, data.id, true, true);
$(".select2-ajax").append(newOption).trigger('change');
true
参数和trigger('change')
的组合将确保添加新的
后自动选择
有关完整的工作示例,请参见my。您能做到这一点吗?如果您想添加带有空格的选项,则需要固定jquery查找,以便用单引号将选项值括起来:
If($(“#state”).find(“option[value=”+newStateVal+“]”)。length){
@alexw,那么多个选定的项目呢?请检查此jsfiddle:@chiragsatapara您可以将一个值数组传递给.val
,但您需要在初始化Select2后执行所有这些操作。如果您在上打开问题,我可以对此进行记录。
$('#client=id').val(data.id);
$('#modal-solicitante').modal('hide'); //This is my
$(".select2-ajax").select2('data', {id: data.id, name: data.name, email: data.email});
var newOption = new Option(data.name, data.id, true, true);
$(".select2-ajax").append(newOption).trigger('change');