简体   繁体   English

Select2 标记:在新标记后面添加自定义文本

[英]Select2 tagging: add custom text behind new tag

I'm using the select2 tagging feature .我正在使用select2 标记功能 Is there an easy way to add a custom text behind a new tag.有没有一种简单的方法可以在新标签后面添加自定义文本。 My intention is, that the user knows that he/she will add the tag.我的意图是,用户知道他/她将添加标签。

The result should look something like that eg.结果应该看起来像这样,例如。 in examle of color names, there it could say "new color" after a new tag:在颜色名称的例子中,它可以在新标签之后说“新颜色”:

添加标签自定义文本,例如新颜色

 $(".js-example-tags").select2({ tags: true });
 select, pre { display: inline-block; }.js-example-tags { width: 256px; }
 <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script> <select class="js-example-tags"> <option selected="selected">orange</option> <option>white</option> <option>purple</option> </select> <pre><== Type new tag into search and click enter</pre>

If i understant your logic, you could try this:如果我理解你的逻辑,你可以试试这个:

 $(".js-example-tags").select2({ tags: true, createTag:newtag, matcher: matchCustom, }); function newtag(params, data){ var term = $.trim(params.term); if (term === '') { return null; } return { id: term, text: term + " (New color)", newTag: true // add additional parameters } } function matchCustom(params, data) { // If there are no search terms, return all of the data if ($.trim(params.term) === '') { return data; } // Do not display the item if there is no 'text' property if (typeof data.text === 'undefined') { return null; } // Return `null` if the term should not be displayed return null; }
 select, pre { display: inline-block; }.js-example-tags { width: 256px; }
 <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script> <select class="js-example-tags"> <option selected="selected">orange</option> <option>white</option> <option>purple</option> </select> <pre><== Type new tag into search and click enter</pre>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM