Javascript 设置多个Select2选项
我有一个创建新对象的表单,可以通过Select2添加多个关键字 我使用Symfony;关键字取自实体。在Select2列表中添加现有关键字效果非常好 现在,我想让用户可以添加全新的关键字,这些新关键字将直接出现在Select2列表中 因此,我在“新对象窗体”上创建了一个“添加关键字”按钮,这将导致一个“新关键字”窗体(一个引导模式窗口) 用于将新创建的关键字添加到Select2列表的Javascript如下所示:Javascript 设置多个Select2选项,javascript,jquery-select2,Javascript,Jquery Select2,我有一个创建新对象的表单,可以通过Select2添加多个关键字 我使用Symfony;关键字取自实体。在Select2列表中添加现有关键字效果非常好 现在,我想让用户可以添加全新的关键字,这些新关键字将直接出现在Select2列表中 因此,我在“新对象窗体”上创建了一个“添加关键字”按钮,这将导致一个“新关键字”窗体(一个引导模式窗口) 用于将新创建的关键字添加到Select2列表的Javascript如下所示: function OnSuccess(result){ var keywo
function OnSuccess(result){
var keywordsSelected = new Array($("#object_keywords").select2("val"));
$('#object_keywords').append('<option value="'+result.id+'" selected="selected">'+result.name+'</option>');
keywordsSelected.push(result.id);
$("#object_keywords").select2("val", keywordsSelected); //
$('#addKeyword').modal('hide');
}
函数成功(结果){
var关键字selected=新数组($(“#对象_关键字”)。选择2(“val”);
$(“#对象_关键字”).append(“”+result.name+“”);
关键字selected.push(result.id);
$(“#对象_关键字”)。选择2(“val”,关键字已选中);//
$('#addKeyword').modal('hide');
}
现在奇怪的是:
- 我点击我的“添加关键字”按钮,我在“新关键字”表格中填写新关键字的名称,我验证,新关键字被添加到Select2列表-->一切正常
- 我在另一次-->一切正常时也会做同样的事情,第二个新关键字会添加到上一个旁边的Select2列表中
- 我第三次做同样的事情。。。第三个关键字被添加了,但前两个关键字消失了李>
function OnSuccess(result){
$('#addKeyword').modal('hide');
$('#webobs_eventbundle_event_keywords').append('<option value="'+result.id+'" selected="selected">'+result.name+'</option>'); // Add the new Keyword in the list
var keywordsSelected = $("#webobs_eventbundle_event_keywords").select2("val");
keywordsSelected.push(result.id);
$("#webobs_eventbundle_event_keywords").select2("val", null);
$("#webobs_eventbundle_event_keywords").select2("val", keywordsSelected);
}
函数成功(结果){
$('#addKeyword').modal('hide');
$('#webobs_eventbundle_event_keywords')。追加(''+result.name+'')//在列表中添加新关键字
var关键字selected=$(“#webobs_eventbundle_event_关键字”)。选择2(“val”);
关键字selected.push(result.id);
$(“#webobs_eventbundle_event_关键字”)。选择2(“val”,null);
$(“#webobs_eventbundle_event_keywords”)。选择2(“val”,关键字选择);
}
不管怎样,我仍然对你对这个问题的看法感兴趣,因为我真的不明白为什么这个代码有效,而不是第一个