[英]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.