Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

undefined function initializing taginput bootstrap 3

I'm try to implement TagInput for bootstrap 3 but when i try to inizialize it, it give me a error Uncaught TypeError: Property 'undefined' of object #<TagsInput> is not a function

Here is how i call the scripts

<script src='<?php echo base_url() ?>resources/js/jquery-1.7.2.min.js' type='text/javascript'></script>

<script src='<?php echo base_url() ?>resources/js/bootstrap.js' type='text/javascript'></script>

<script src='<?php echo base_url() ?>resources/js/bootstrap-tagsinput.js' type='text/javascript'></script>

<script> $('.tagplayer').tagsinput();</script>

form

<input type="text" class="tagplayer">

Edit: I'm not currently work anymore with this plugin, i need suggest for accept the right answer.

like image 383
fabrizio Avatar asked Dec 25 '22 20:12

fabrizio


2 Answers

I got the same problem. May the author forgot to test after some revision. Open bootstrap-tagsinput.js, and at the last line you can see the following code;

   $(function() {
       $("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput();
   });

As you can see, in this js code, tagsinput() function is called. Hence, including your call to tagsinput() in your code, there are 2 calls to tagsinput().

As a result, at line 357 where registering tagsinput() function as a jquery plugin, the initializing is failed.

To solve this, comment upper code. (But maybe you can use some functionalties, but not importan

Anyway, you need to include bootstrap-tagsinput.css too.

like image 56
Aaron Socurites Avatar answered Dec 28 '22 11:12

Aaron Socurites


See this issue at GitHub: https://github.com/TimSchlechter/bootstrap-tagsinput/issues/52

A workaround that helped me:

<input type="text" id="tags">
<script>
    var tags = $('#tags')
    tags.tagsinput();

    tags.tagsinput('input').typeahead({
      prefetch: 'prefetch.json'
    }).bind('typeahead:selected', $.proxy(function (obj, datum) {
      tags.tagsinput('add', datum.value);
      tags.tagsinput('input').typeahead('setQuery', '');
    }, $('input')));
</script>
like image 39
Spajus Avatar answered Dec 28 '22 11:12

Spajus