ionRangeSlider从

时间:2019-01-18 16:32:26

标签: javascript jquery ion-range-slider

我正在使用ionRangeSlider作为bootstrap模态的组件,该模版用于编辑表格的某些记录。 因此,我需要在要求将函数值放入模态形式的函数中初始化它。

这是“更新功能”:

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”值初始化滑块,但如果我关闭模态,则即使“ votazione”不同,滑块也始终具有相同的“ from”值!我通过浏览器控制台上的console.log(votazione)进行检查。

因此,我尝试了很多,发现此方法可以完成此处无法使用的操作:

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

此功能在滑块初始化/启动之外,但使其与变量“ 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方法中,它们只会在第一次正确运行,然后无法正确重新加载,并且它们仍会发布旧结果。 如果将它们放在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();

                   }
               });

他们停止工作了……

让它们起作用的任何想法?

0 个答案:

没有答案