0

我想在我的Node.Js应用程序中实现相同的自动标签识别系统:用户输入#word1 word2,这被识别为一个具有两个单词的标签,而不仅仅是一个标签。在SoundCloud上自动标记自动填充?

我知道jquery.textcompletejquery.taghandler但这些只能做一个字长的标签。我需要将认识到,可以是词组的标签,像一个的SoundCloud系统:

enter image description here

你知道,这将有助于我做任何图书馆吗?

谢谢!

回答

0

这里可能是您的出发点。 它只是使用jQuery。

您需要添加自动完成,验证等。

按Enter键添加标签。

HTML

<div class="form-group"> 
    <label for="exampleInputTags">Tags</label> 
    <input class="form-control" id="exampleInputTags" placeholder="Enter tags"> 
</div> 
<div id="tags"></div>  

JS

var tag = ''; 
$("#exampleInputTags").keyup(function (e) { 
    if (e.keyCode == 13) { 
     tag = '#' + $("#exampleInputTags").val(); 
     $("#tags").append(tag + '<br/>'); 
     $("#exampleInputTags").val(''); 
    } 
}); 

http://jsfiddle.net/iambnz/b7gju2c1/

编辑:

我已经添加了自动完成一些逻辑。 RegEx模式应该被测试和改变。 到目前为止,不知道如何将其添加到输入上下文中。

JS

var tag = ''; 
var str = 'JavaScript'; 

$("#exampleInputTags").keyup(function (e) { 
    var re = $("#exampleInputTags").val(); 
    console.log(re); 
    if (re != '') 
    { 
    testinput(re, str); 
    } 
    else if (re == '') 
    { 
    $("#suggestions").text(''); 
    } 
}); 

function testinput(re, str) { 
    if (str.search(re) != -1) { 
    $("#suggestions").text(str); 
    } 
} 

$("#exampleInputTags").keyup(function (e) { 
    if (e.keyCode == 13) { 
     tag = '#' + $("#exampleInputTags").val(); 
     $("#tags").append(tag + '<br/>'); 
     $("#exampleInputTags").val(''); 
    } 
}); 

HTML

<div class="form-group"> 
    <label for="exampleInputTags">Tags</label> 
    <input class="form-control" id="exampleInputTags" placeholder="Enter tags"> 
    </div>  
    <div id="tags"></div>  
     <br/><br/> 
    <div id="suggestions"></div> 

http://jsfiddle.net/iambnz/yye1b4ye/

如果所有不符合您的需求,拿上一看预输入从引导加上。

http://getbootstrap.com/2.3.2/javascript.html#typeahead