Обновление ionRangeSlider от - PullRequest
       15

Обновление ionRangeSlider от

0 голосов
/ 18 января 2019

Я использую ionRangeSlider как компонент модального загрузчика, который я использую для редактирования некоторых записей таблицы. Поэтому мне нужно инициализировать его внутри вызываемой функции, помещает значения в модальную форму.

это «функция обновления»:

function edit(el) {
                id=$(el).parent().siblings('#degree_id').html();
                nome=$(el).parent().siblings('#degree_nome').html();
                cognome=$(el).parent().siblings('#degree_cognome').html();
                email=$(el).parent().siblings('#degree_mail').html();                votazione=$(el).parent().siblings('#degree_votazione').find('div').html();                lode=$(el).parent().siblings('#degree_votazione').find('#degree_lode').html();



               $('#id_edit').val(id);
               $('#nome_edit').val(nome);
               $('#cognome_edit').val(cognome);

               console.log(votazione);


               var select = $('#votazione_edit');

               select.ionRangeSlider({
                   min: 0,
                   max: 110,
                   from: votazione,
                   grid: true,
                   step: 1,
                   prettify_enabled: true,                      



           }

При первом вызове функции инициализируйте ползунок с правильным значением «from», но если я закрою модальное значение, то у ползунка всегда будет одинаковое значение «from», даже если «votazione» отличается! Я проверяю это с помощью console.log (votazione) в браузере consolle.

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

select.data('ionRangeSlider').update({
                       from: votazione
                   });

эта функция находится за пределами ползунка init / start, но заставляет ее работать с правильным значением "from", установленным var "votazione". В документах они называются «открытые методы». Теперь моя проблема в том, что id хотел бы контролировать какое-то событие над ним, и я добавил 2 метода, таких как:

 onStart: function (data) {
                       if(data.from==110)
                       {
                           $('#lode_edit').show();
                           if(lode==true){
                               $('#lode_edit').prop('checked', true);
                           }

                       }else{
                           $('#lode_edit').hide();

                       }
                   },
                   onChange: function (data) {
                       // Called every time handle position is changed

                       console.log(data.from);
                       if (data.from == 110) {
                           $('#lode_edit').show();
                       } else {
                           $('#lode_edit').hide();

                       }
                   },

Но если поместить их в метод init, они работают только в первый раз правильно, то не будут перезагружены правильно, и они по-прежнему публикуют старый результат. Если поместить их вне инициализации, как:

select.on('Start', function (data) {
                   if(data.from==110)
                   {
                       $('#lode_edit').show();
                       if(lode==true){
                           $('#lode_edit').prop('checked', true);
                       }

                   }else{
                       $('#lode_edit').hide();

                   }
               });

               select.on('Change', function (data) {
                   // Called every time handle position is changed

                   console.log(data.from);
                   if (data.from == 110) {
                       $('#lode_edit').show();
                   } else {
                       $('#lode_edit').hide();

                   }
               });

они перестают работать ...

есть идеи, чтобы они работали?

...