2016-03-26 2 views
1

im использует http://silviomoreto.github.io/bootstrap-select/examples/ для моих пользовательских полей выбора. Содержимое загружено с помощью JQuery. Если я изменил поля выбора, кнопка с ее содержимым не обновляется. Я пробовал $('select').selectpicker(); для решения этой проблемы, но он не работает. У вас есть решение для меня?Bootstrap-Select не меняет

$('select#item').on("change", function() 
    { 
     var intID = parseInt($('select#item').val()); 

     if (intID > 0) 
     { 
      $.post(_this.strAjaxUrl, { 
       'action': 'getAction', 
       'intID': intID 
      }, function (strResponse) 
      { 
       var jsonDaten = $.parseJSON(strResponse); 
       if (jsonDaten.strStatus == "OK") 
       { 
        $('select#item2').html(jsonDaten.strHtml); 
        $('select#item2').selectpicker(); 
       } 
      }); 
     } 
    }); 
+1

Если вы можете публиковать код, который вы использовали. Или даже создать jsfiddle для репликации проблемы, тогда вы получите дополнительную помощь. –

+0

отправил мой код js. – ElDiabolo

+0

. Дайте мне знать, если мой ответ помогает –

ответ

1

Вы привязываете событие изменения к тегу select. Фактически, что происходит после того, как вы примените плагин к вашему тегу select, тег select будет скрыт и заменен элементом «div» с помощью ul и li тегов. После этого ваш тег выбора больше не находится в пользовательском интерфейсе, Скрытый. Таким образом, ваше событие изменения никогда не пострадает (потому что вы больше не играете с тегом select). Если вы посмотрите на документацию плагина, вы увидите, что есть event под названием changed.bs.select. Take a look here.

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

$('select#item').on('changed.bs.select', function (e) { 
    // get new data to the select Tag. 
}); 

Хитрая часть здесь, вы можете обновить выберите тег, но помните, что выбрать тег скрыт. Таким образом, вы можете не видеть изменений в пользовательском интерфейсе.

Так решение уничтожить плагин, если вы хотите обновить выберите тег с новыми данными, использовать $('select#item').selectpicker('destroy'); применить новый HTML. И затем повторно примените плагин. Также помните, что вы должны повторно применить привязку события $('select#item').on('changed.bs.select', function (e) {.

Дайте мне знать, если это поможет.

+0

разрушать и работать с новыми настройками. благодаря! – ElDiabolo

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