jQuery UI slider-ne peut pas appeler la méthode 'addClass' de non défini
j'ai eu ce vieux slider UI jQuery qui avait fonctionné très bien il y a quelques mois, mais maintenant il semble que je reçois une lecture d'exception: ne peut pas appeler la méthode 'addClass' d'indéfini. J'ai vérifié les valeurs passées dans le curseur et ce sont des dates Javascript régulières.
$('#dateFilter').click(function() {
return $('#sliderContainer').slideToggle(200);
});
$(function() {
var endFiling, startFiling;
startFiling = Date.parse($('#startFiling').val());
endFiling = Date.parse($('#endFiling').val());
return $('#filingDateSlider').slider({
range: true,
min: startFiling,
max: endFiling,
step: 86400000,
values: [startFiling, endFiling],
slide: function(event, ui) {
var eD, end, sD, start;
sD = new Date(ui.values[0]);
start = dateFormat(sD);
eD = new Date(ui.values[1]);
end = dateFormat(eD);
$('#filingStartDate').text(start);
return $('#filingEndDate').text(end);
}
});
Est-il une raison particulière pour laquelle je pourrais peut être m'cette nouvelle erreur?
7 réponses
pour quiconque lit cette question, si vous utilisez un CDN, essayez la dernière version de L'interface utilisateur jQuery. J'ai aussi eu ce problème, et il a été résolu en utilisant une version ultérieure de jQuery UI.
j'ai résolu cette erreur en utilisant des entiers dans "min", "max" et de "valeurs". Peut-être que vous définissez des valeurs nulles.
la spécification Jquery Slider dit:
- Nombre max par défaut: 100
- min Nombre par défaut: 0
- valeur Nombre par défaut: 0
Donc, les "valeurs" sont un tableau de nombres.
pour ceux qui ont encore ce problème, assurez-vous que les valeurs que vous ajoutez (min
,max
et values
sont tous des nombres et non des chaînes!
J'ai essayé de diagnostiquer un problème lorsque le code suivant échouait:
t.slider({
range : true,
min : t.attr('data-min'),
max : t.attr('data-max'),
values: [t.attr('data-min'), t.attr('data-max')],
step : 1.00,
slide : function (e, ui) {
var
v = (s == 'price') ? '£' + ui.values[0] + ' - £' + ui.values[1] : ui.values[0] + ' - ' + ui.values[1] + 'kg'
$('#filter-' + s).html(v)
},
stop : function () {
Items.filter()
}
})
t.attr()
renvoie une chaîne, Slider ne parvenait pas à définir valueMouse
sur la ligne de 12843 de la Version 1.10.1 de jQuery UI. Au lieu d'être une valeur, elle retournait une chaîne (quelque chose de similaire à 39.99549.21
(valeur minimale de 39.99
concaténé avec 549.21
- un pourcentage * valeur max)
j'Espère que l'aide à quelqu'un!
j'ai eu ce problème avec les dernières versions, trop. La solution est simple: utiliser parseInt () pour passer des valeurs dynamiques de curseurs
Exemple de Setter pour jQuery ui slider:
$("#mySlider").slider("option",{min: parseInt(value.min), max:parseInt(value.max),value: parseInt(value.active)});
une autre possibilité - cette erreur peut apparaître si le min ou le max sont manquants pour le curseur. Si votre startFiling ou endFiling n'évalue pas à une date, le code de curseur échoue en essayant de calculer la nouvelle position de la poignée.
a résolu le problème en utilisant jQuery-UI non modifié.min.js. L'utilisation d'un script personnalisé a causé l'erreur I. jQuery-UI-custom.js
jQuery UI Slider plugin min & max options accepte seulement le nombre. Donc, selon vos besoins les analyser à l'entier ou flotter.
Pour plus de détails visitez le lien- http://api.jqueryui.com/slider/