我有一个用于执行标记的select2 JavaScript。客户决定他们想要一个空间。如你所知,空间毁了一切,所以我们用下划线妥协,但我们想用下划线替换所有空格,以防不是每个人都遵循指示。 所以我添加了一些JavaScript,但是当我将新值保存到它们分配的属性时,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>
答案 0 :(得分:0)
如果您需要更改选择字段更改的文本和值,可以这样做:
$(function(){
$('#tags').change(function() {
$(this).find('option').each(function() {
var value = $(this).val();
var text = $(this).text();
$(this).val(value.split(' ').join('_'))
$(this).text(text.split(' ').join('_'))
});
});
});