Стилизация цвета не применяется к тегам ввода при начальной загрузке - PullRequest
0 голосов
/ 01 июля 2018

У меня есть модальная форма. Когда я нажимаю кнопку «Отправить» на модальной форме, я устанавливаю теги в качестве значения в поле ввода тегов ввода, которые успешно устанавливаются. Но я применяю стилизацию (раскрашивание тегов) также с помощью jquery, но я не знаю, почему он не применяется к ним, вы можете проверить код ниже Что я сделал неправильно.

Я следую этому руководству: https://bootstrap -tagsinput.github.io / bootstrap-tagsinput / examples / . Перейдите в раздел «Категоризация тегов» и нажмите ссылку «Показать код».

enter image description here

 <script type="text/javascript">
  //JQUERY WORK

  $(document).ready(function() {

      var elt = $('input.myinput');

      elt.tagsinput({
          tagClass: function(item) {
            switch (item.continent) {
              case 'Europe'   : return 'label label-info';
              case 'America'  : return 'label label-success';
              case 'Australia': return 'label label-danger label-important';
              case 'Africa'   : return 'badge badge-inverse';
              case 'Asia'     : return 'badge badge-warning';
              case 'Asia2'     : return 'badge badge-error';
              case 'Africa2'   : return 'label label-default';
            }
          },
          itemValue: 'value',
          itemText: 'text',
          source: function(query) {
            return $.getJSON('cities.json');
          }
        });

    }); 


      $('#modelformbuttonclick').click(function() {
          var tableRowId =  $('#myModal').data('current');
          c = '#' + tableRowId;
          //removing all tags if anyone updates tags
          $(c+ ' input.myinput').tagsinput('removeAll');
          var count=1; var color = ["Europe","America","Australia","Africa","Asia", "Asia2", "Africa2"];

          $('.modal-body-inner span.myclass').each(function() {
              c = '#' + tableRowId;
              var randomNumber = Math.floor(Math.random()*color.length);
              $(c + '  input.myinput').tagsinput('add', { "name": "tagsdata", "value": $(this).text() , "text": $(this).text(), "continent": color[randomNumber]});
              count = count+1;
          });
          submitForm();
      });

    </script>
...