Trafiłem na gotowy skrypt, który idealnie spełnia moje oczekiwania:
http://timschlechter.github.io/bootstrap-tagsinput/examples/

gdzie dokładnie chodzi mi o Objects as tags

Nie znam się na jQuery, a dokumentacja nie jest dla mnie na tyle jasna bym sobie z tym poradził. Zwięźle, chcę określić jak mam użyć skryptu.

  1. var cities = new Bloodhound({
  2. datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
  3. queryTokenizer: Bloodhound.tokenizers.whitespace,
  4. prefetch: 'assets/cities.json'
  5. });
  6. cities.initialize();
  7.  
  8. var elt = $('input');
  9. elt.tagsinput({
  10. itemValue: 'value',
  11. itemText: 'text',
  12. typeaheadjs: {
  13. name: 'cities',
  14. displayKey: 'text',
  15. source: cities.ttAdapter()
  16. }
  17. });
  18. elt.tagsinput('add', { "value": 1 , "text": "Amsterdam" });


Jakoś sobie poradziłem, jednakże mam kod:
  1. var cities = new Bloodhound({
  2. datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
  3. queryTokenizer: Bloodhound.tokenizers.whitespace,
  4. prefetch: 'assets/cities.json'
  5. });
  6. cities.initialize();

Gdzie prefetch: 'assets/cities.json' odwołuje się do pliku assets/cities.json o takiej zawartości:
  1. [ { "value": 1 , "text": "Amsterdam" , "continent": "Europe" },
  2. { "value": 2 , "text": "London" , "continent": "Europe" },
  3. { "value": 3 , "text": "Paris" , "continent": "Europe" },
  4. { "value": 4 , "text": "Washington" , "continent": "America" },
  5. { "value": 15, "text": "Kinshasa" , "continent": "Africa" }
  6. ]


Jak zmodyfikować prefetch: 'assets/cities.json' by nie ściągał z pliku assets/cities.json tej tablicy, tylko była ona tam wypisana? Chcę tam pętlą w PHP dodawać wartości bez konieczności tworzenia nowego pliku