【发布时间】:2014-01-13 09:30:53
【问题描述】:
我有一个创建新对象的表单,它可以通过 Select2 添加多个关键字。
我使用 Symfony ;关键字取自实体。在 Select2 列表中添加现有关键字效果很好。
现在我想给用户添加全新关键字的可能性,这些新关键字直接出现在 Select2 列表中。
所以我在我的“新对象表单”上创建了一个“添加关键字”按钮,这会导致一个“新关键字”表单(一个引导模式窗口)。
用于将新创建的关键字添加到 Select2 列表的 Javascript 如下:
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');
}
现在奇怪的是:
- 我点击“添加关键字”按钮,在“新关键字”表单中填写新关键字的名称,我验证,新关键字已添加到 Select2 列表中 --> 一切正常
- 我又做了同样的事情 --> 一切都很好,第二个新关键字被添加到前一个附近的 Select2 列表中
- 我第三次做同样的事情,然后......添加了第三个关键字但两个第一个消失了!!
即使这 2 个第一个是数据库中已经存在的“旧”关键字,这也会附加,但如果我只添加“旧”关键字(我可以添加任意数量的关键字),这不会附加。
你知道问题出在哪里吗?
【问题讨论】: