2015-04-28 2 views
2

Я в настоящее время борется с внедрением плагина jQuery на свой сайт для тегов (с пользовательскими объектами данных) с автозаполнением. jQuery TextExt можно найти здесь (http://textextjs.com/). В настоящее время я борюсь с использованием пользовательских объектов данных для каждого тега, которые могут быть выбраны только из того, что происходит с автозаполнениями. На основе этого примера (http://textextjs.com/manual/examples/tags-with-custom-data-objects.html) Я пытаюсь выяснить, как вернуть оба «имени» и «id», когда выбран тег. Кто-нибудь знает, как достичь этого или указать мне в правильном направлении?jQuery TextExt: Теги с пользовательскими объектами данных

Возможно, ответ находится где-то в этом примере (http://textextjs.com/manual/examples/filter-with-suggestions.html)?

Вот что я написал, что не работает (он возвращает только имя, я попытался добавить «item-id» к функциям, но это не работает для меня тоже):

<script type="text/javascript"> 
jQuery(document).ready(function($){ 
    jQuery('#textarea').textext({ 
     plugins: 'tags', 
     items: [ 
      { name: 'PHP', id: '1' }, 
      { name: 'Closure', id: '2' }, 
      { name: 'Java', id: '3' } 
     ], 

     ext: { 
      itemManager: { 
       stringToItem: function(str) 
       { 
        return { name: str }; 
       }, 

       itemToString: function(item) 
       { 
        return item.name ; 
       }, 

       compareItems: function(item1, item2) 
       { 
        return item1.name == item2.name; 
       } 
      } 
     } 
    }); 
}) 
</script> 

ответ

2

Ваш код itemManager должен вероятно выглядеть следующим образом, вам нужно будет хранить предложения в пользовательском массиве искать свои соответствующие идентификаторы в stringToItem Method

itemManager: { 
    items: [], // A custom array that will be used to lookup id  
    stringToItem: function(str) 
    { 
     //Lookup id for the given str from our custom array 
     for (var i=0;i<this.items.length;i++) 
      if (this.items[i].name == str) { 
       id = this.items[i].id; 
       break; 
      }  
     return { name: str, id: id }; 
    }, 

    itemToString: function(item) 
    { 
     //Push items to our custom object 
     this.items.push(item); 
     return item.name ; 

    }, 
    compareItems: function(item1, item2) 
    { 
     return item1.name == item2.name; 
    }  
} 
+0

Я заменил мой itemManager код с тем, что вы послали, но ничего не работает ..:/ Я также скорректировал мои плагины к следующему и включены файлы JS-файлов: «автозаполнение предложений тегов фильтр», –

Смежные вопросы