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?

http://i.imgur.com/xC2E6.jpg

18
demandé sur SCS 2012-07-30 23:14:55

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.

35
répondu Vinay 2012-09-24 20:56:18

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.

19
répondu Miguel Gil Martínez 2013-04-29 09:36:50

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!

10
répondu Alex 2013-03-09 16:56:27

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)});
3
répondu Dino 2014-02-02 08:43:38

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.

1
répondu JvR 2013-01-20 16:53:53

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

0
répondu brian 2014-04-09 11:17:45

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/

0
répondu Shailesh Bhardwaj 2018-07-11 05:16:08