我正在使用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();
}
});
他们停止工作了……
让它们起作用的任何想法?