如何使用选定的值在JQuery Select2插件中创建占位符文本

时间:2015-04-10 08:54:09

标签: jquery jquery-select2 placeholder

我能够在Select2中创建一个占位符文本就好了。但是,占位符文本仅在选择为空时显示(即,直到用户选择了某个值)。

我想以某种方式通过显示类似"输入下一个值"以及某种方式指示用户允许多个值。作为占位符文本之后之前已选择的值。

这样的事情:

enter image description here

这可能吗?

2 个答案:

答案 0 :(得分:0)

就像从AFAIK评论一样,这是不可能的。

但您可以尝试使用占位符和allowClear属性来解决此问题。在这种情况下,在选择第一个项目之后,select2将向您显示一个清除按钮,您可以使用您的文本动态替换,如下面的演示:



$(function() {
$(".js-example-basic-multiple").select2({
    placeholder: "Select a state",
    allowClear: true
});
$(".js-example-basic-multiple").on("select2:select", function (e) {
    $(".select2-selection__clear").text("Enter next value or Clear");
});
$(".js-example-basic-multiple").on("select2:unselect", function (e) {
    $(".select2-selection__clear").text("Enter next value or Clear");
});
});

<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.css" rel="stylesheet"/>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.js"></script>
<select class="js-example-basic-multiple" multiple="multiple" style="width: 248px;">
    <option value="AL">Alabama</option>
    <option value="WY">Wyoming</option>
    <option value="NY">New York</option>
    <option value="CA">California</option>
</select>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

只需在selected标记中添加<option>属性即可达到预期的效果。