2013-09-04 2 views
0

Im kinda застрял в jQuery tokeninput, я его взломал, поэтому он отлично работает с добавлением FreeTags в базу данных и возвращает идентификатор и имя нового тега. Теперь у меня есть другие проблемы, с позиционированием области автозаполнения ввода, область ввода всегда «отстает» от токенов, я хочу, чтобы она была перед маркерами.Позиционное поле ввода tokeninput

Я был бы очень признателен, если кто-то может дать мне руку помощи :)

, если это какой-либо помощи, вот мой код до сих пор.

                      $("#xxx").tokenInput("/get-tags", { 
      theme: "facebook", 
      noResultsText: "Hit enter to add", 
      searchingText: "Searching", 
      placeholder: 'Tags', 
      freeTaggingHint: true, 
      propertyToSearch: 'name', 
      allowFreeTagging: true, 
tokenFormatter: function(item) { return "<p name=\"tags[]\" value=\""+item.id+"\">"+item.name+"</p>"; },      
      onFreeTaggingAdd: function (item) { 
        $.ajax({ 
     type: "POST", 
     url: "/dev/ajax/add-tag/", 
     data: { 
      tag: item, 
      uid: 1 
      }, 
      success: function(data) { 
       console.log(data); 
       jQuery("#tags").tokenInput("add", {id: data, name: item}); 
       } 
       }); 
       }        
     }); 
                        }); 
+0

Как вы имеете в виду «позади токенов»? Как в, слева от них, или z-индекс позади? Можете ли вы сбить jsfiddle или отправить изображение, если это подходит? – Chris

+0

Эй, Хрис, слева от них :) – moffepoffe

ответ

0

Я считаю, что ваша проблема может быть с вами делать TokenFormatter функцию. Различные части библиотеки jQuery полагаются на токены: <li> - Я нашел это, когда я завернул свои жетоны в div.

Как самое легкое исправление, оберните ваши жетоны в <li>, как показано ниже.

tokenFormatter: function(item) { 
    return "<li><p name=\"tags[]\" value=\""+item.id+"\">"+item.name+"</p></li>"; 
}, 

Если это портит с макетом или что-то, то вам нужно пройти через изменение ряд ссылок в самой библиотеке, которая намного больше работы.