Potrzebuję wieloliniowego pola tekstowego z wolnym tekstem, ale jeśli zacznę pisać znaki: "@@"
, pole autouzupełniania z dostępnymi tagami powinno się pojawić i pozwolić mi aby wybrać znaczniki z istniejącego, a znaki "@@" nie powinny występować w nazwie znacznika.Znaczniki autouzupełniania z wymuszaniem i tekstem wolnym
Obecnie gram z użytkownikiem tag-it plugin dla interfejsu użytkownika jquery, ale nie wiem, w jaki sposób zezwolić na dostęp do bezpłatnego tekstu i tylko w polu autouzupełniania shw w polu "@@". i jak do textarea użytkownika zamiast zwykłego wejścia.
Również chciałbym, aby zmusić ich do wyboru z listy, jeśli wejdą @@ i nie pozwalają, aby wpisać dowolny tekst (pierwszy dostępny wybór będzie dobry)
Javascript:
$(document).ready(function() {
//The demo tag array
var availableTags = [
{value: 1, label: 'tag1'},
{value: 2, label: 'tag2'},
{value: 3, label: 'tag3'}];
//The text input
var input = $("input#text");
//The tagit list
var instance = $("<ul class=\"tags\"></ul>");
//Store the current tags
//Note: the tags here can be split by any of the trigger keys
// as tagit will split on the trigger keys anything passed
var currentTags = input.val();
//Hide the input and append tagit to the dom
input.hide().after(instance);
//Initialize tagit
instance.tagit({
tagSource:availableTags,
tagsChanged:function() {
//Get the tags
var tags = instance.tagit('tags');
var tagString = [];
//Pull out only value
for (var i in tags){
tagString.push(tags[i].value);
}
//Put the tags into the input, joint by a ','
input.val(tagString.join(','));
}
});
//Add pre-loaded tags to tagit
instance.tagit('add', currentTags);
});
html:
<p>This example shows how to use Tagit on an input!</p>
<input type="text" id="text" name="tags" value="one,two,three"/>
testowanie tutaj: http://jsfiddle.net/hailwood/u8zj5/
myślę @ Duy-Nguyen odpowiedzieć tutaj http: // stackoverflow.com/a/6393740/180100 odpowiada twoim potrzebom (jedyną różnicą jest użycie '@' zamiast '@@'). –
@RC., Dziękujemy za sugestie, ale nie działa zgodnie z oczekiwaniami. 1. Nie jest oznaczony jako tag, więc nie można go usunąć, klikając "x". 2. Kiedy dodaję wiele tagów CSS nie działa zgodnie z oczekiwaniami. 3. Nie wyświetla pola autouzupełniania, gdy wpisuję "@", wyświetla się tylko wtedy, gdy wpisuję "@" + literę. – user194076