我有一个select2 JavaScript来执行我的标记。客户决定他们想要有空间。正如你知道的空间毁了一切,所以我们与下划线妥协,但我们想用一个下划线替换所有的空间,以防万一不是每个人都遵循指示。 因此,我添加了一点JavaScript,但是当我将新值保存到其分配的属性时,select2会中断,并且它似乎是破坏进程的两行代码。Select2标签替换带下划线的空格
有没有其他的方法来写这两行?
我的JavaScript(我将标志着被搞乱了程序的那些))
<script>
$("#tags").select2({
placeholder: "Add Tag(s)...",
tags: true
});
$('#tags').change(function() {
var self = this;
$(self).find('option').each(function() {
var value = $(this).val();
var text = $(this).text();
var newValue = value.split(' ').join('_');
var newText = text.split(' ').join('_');
$(this).val(newValue); // This line overrides the tag manually input before it.
$(this).text(newText);
$('.select2-selection__choice').each(function() {
var title = $(this).attr('title');
var newTitle = title.split(' ').join('_');
$(this).val(newTitle)
$(this).text(newTitle); //This line deletes the x in the tags
});
});
});
});
</script>
谢谢你的回答。不过,它仍然搞乱我的标签。如果我输入一个二。它用one_two代替它,但是我想要另外一个标签,例如三个四,one_two替换三个四。它发生在我所尝试过的一切。 – BlowFish
你可以编辑plunkr来显示发生了什么。我试过了,但对我来说效果不错,请看这里:https://plnkr.co/edit/mipw0f113sagh0WcRk16?p=preview – qais