我正在尝试使用Select2创建一个InputMask框来插入IP地址并将其添加为标记。
如果我自己使用任何一个库,它就像一个魅力,但两者一起导致奇怪的行为。
当我输入数字时,掩码未填充,而是似乎扩展了。
我将select2 <input class=“select2-search__field“>
的类型从search
更改为text
。 Inputmask库使这一点成为必要,但它不应该导致错误,因为类型是functionally identical.
我创建了一个小提琴来显示行为:Fiddle
HTML:
<select multiple id="sel1" style="width:100%"></select>
JS:
$("#sel1")
.select2({
tags: true
})
.on("select2:open", function () {
$(".select2-search__field")
.attr("type","text")
.inputmask({alias: "ip", greedy: false});
})
在我的本地示例中,我将库更改为支持search
,行为是相同的。
我错过了什么吗?
答案 0 :(得分:4)
如果您必须使用版本4.0.5
,那么有一个坏消息。
通过将select2降级为版本4.0.2
主要是版本&lt; = 4.0.2
https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.2/js/select2.js
尝试4.0.3
以上4.0.6-rc.1
,但没有运气。
使用select2打开issue select2#5216。
我做了一些小改动,但这与问题本身无关。
$('.select2-search__field').attr('type', 'text');
$('.select2-search__field').attr('style', 'width: 10em;');
$('.select2-search__field')
.inputmask({
alias: 'ip'
});