添加新值"即时"如果它不存在于列表中

时间:2015-09-16 16:15:12

标签: javascript jquery jquery-select2

我在页面上有一个选择字段,用户应该能够添加一个在选择中不存在的新值。 select使用带有默认搜索框功能的select2插件。

我认为应该是这样的:

  1. 用户开始输入他们需要的值
  2. 如果他们找到了他们想要的东西 - 他们会选择它
  3. 如果没有 - 他们只是继续输入值到最后
  4. 然后使用新值提交表单。
  5. 如何实现?

1 个答案:

答案 0 :(得分:1)

版本4:

结帐the documentation。您需要tags: true选项。如果您需要自定义函数来分配新的idtext,则会将其称为createTags,并作为选项传入,例如:

$('#el').select2({
  tags: true,

  createTag: function(term) {
    return { id: ..., text: ... };
  }
});

release announcement还介绍了如何使用数据属性执行此操作(在“使用data- *属性声明选项”部分下)

<select data-data="[{id: '1', text: 'One', id: '2', text: 'Two'}]" data-tags="true"></select>

对于版本3:

与版本4(上文)几乎相同,但createTags曾被称为createSearchChoiceversion 3.x docs非常棒 - 我强烈建议您查看它们。请参阅“事件”部分下的示例,以及如何在“文档”部分下使用createSearchChoice