我在使用自动填充小部件时遇到了一些问题。选择选项时,项目值以换行符和一些空格为前缀。结果如下:
Object { label="\n bedroom", value="\n bedroom"}
我不知道为什么会发生这种情况,也许这就是我设置数组以获取值的方式?这是我的代码:
$("#step2").show(0, function() {
/*tags auto-complete*/
var tags = $('span', $('#liTags')).text();
var availableTags = tags.split(' ;');
$(".liTagInput").autocomplete({
minLength: 2,
source: availableTags,
select: function(event, ui) {
var value = ui.item;
console.log(value);
console.log(jQuery.inArray(value, availableTags));
if(jQuery.inArray(value, availableTags) >= 0)
$(this).val('');
}
});
});
如果你想知道我在这里想要做什么(由于换行我还没有测试过),我从HTML端的span元素中获取标签,然后将它们分成数组(availableTags
)。
然后我想要发生的是,一旦用户在文本框中输入内容,如果它不是他/她从自动完成菜单中选择的内容,那么应该清除文本字段的值(I也可能会向他们显示警告,告诉他们从菜单中选择,但现在让我们离开。)
有什么想法吗?
答案 0 :(得分:1)
为什么不使用
string.replace(/\s/g, "");
使用replace()方法删除空格。
要删除所有换行符,请使用
string.replace(/(\r\n|\n|\r)/gm,"");
答案 1 :(得分:0)
string.trim()
就是为了这个目的而制作的。