2015-06-10 1 views
0

Я использую jquery multiSelect плагин (http://harvesthq.github.io/chosen/) с метеор. Он работает нормально. Когда, когда список параметров изменяется динамически, он показывает старые значения в списке опций.Jquery multi select plugin with meteor

<template name="testDynamicSelect"> 
    <select class="chosen-select"> 
     {{#each selectList}} 
      <option style="width: 300px">{{this}}</option> 
     {{/each}} 
    </select> 
</template> 

Помощники

Session.set('selectList',['delhi','pune','chandigarh']); 
Session.set('run',true); 
Template.testDynamicSelect.helpers({ 
    selectList:function(){ 
     return Session.get('selectList') 
    } 
}); 

    Template.testDynamicSelect.rendered = function(){ 
     var instance = this; 
     instance.autorun(function(){ 
      if(Session.get('run')){ 
       var config = { 
        '.chosen-select': {}, 
        '.chosen-select-deselect' : {allow_single_deselect:true}, 
        '.chosen-select-no-single' : {disable_search_threshold:10}, 
        '.chosen-select-no-results': {no_results_text:'Oops, nothing found!'}, 
        '.chosen-select-width'  : {width:"95%"} 
       } 

       for (var selector in config) { 
        $(selector).chosen(config[selector]); 
       } 
       Session.set('run',false); 
       console.log('run select '); 
      } 
     }); 
    } 

Теперь в консоли, когда я типа

Session.set('selectList',['delhi','pune','chandigarh','bangalore']); 
Session.set('run',true); 

Я не получаю обновленное значение 'Бангалора.

ответ

0

Если вы правильно проверяете, теги параметров генерируются динамически. Но он не отображается динамически в jquery multi select. Причина в том, что даже если теги параметров генерируются динамически, вы не обновили список мультивыбранных.

Внимательно прочитайте документацию, вам необходимо активировать обновление следующим образом: $ (". Select-select"). Trigger ("selected: updated");

1

Ваш .rendered() работает только один раз при визуализации шаблона, он не будет реагировать на изменение в вашей переменной сеанса run до тех пор, пока шаблон не будет визуализирован снова.

Вам необходимо обновить меню в вашем помощнике шаблонов, чтобы он реагировал на изменения в вашем массиве имен мест.