2012-07-30 16 views
17

की विधि 'addClass' को कॉल नहीं कर सकता है मेरे पास यह पुराना jQuery UI स्लाइडर था जो कुछ महीने पहले ठीक काम करता था, लेकिन अब मुझे अपवाद पढ़ने का प्रतीत होता है: विधि 'addClass' को कॉल नहीं कर सकता अपरिभाषित। मैंने स्लाइडर में दिए गए मानों की जांच की है और वे नियमित जावास्क्रिप्ट तिथियां हैं।jQuery UI स्लाइडर - अपरिभाषित

$('#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); 
     } 
     }); 

क्या कोई विशेष कारण है कि मुझे यह नई त्रुटि क्यों मिल रही है?

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

+0

क्या आप ब्रेकपॉइंट सेट करने और कोड के माध्यम से चलने में सक्षम हैं? त्रुटि मुझे लगता है कि "एडक्लास" कहीं कहीं कहा जा रहा है और इसे पास किया जा रहा मान अपरिभाषित है। यदि आप कोड के माध्यम से कदम उठा सकते हैं, तो शायद आप देख सकते हैं कि मूल्य सही तरीके से शुरू किए जा रहे हैं या नहीं।इसके अलावा, क्या आपने हाल ही में jQuery का संस्करण बदल दिया है? – Sam

+0

क्या आपने लॉग चेक किया था? jQuery यूआई में कुछ बग हैं, दूसरे दिन, मैंने डेटपिकर के एक विशेष कार्यान्वयन में एक थकाऊ बग का अनुभव किया, यदि एक ही पृष्ठ में कोई टेक्स्ट इनपुट नहीं है तो यह काम नहीं करता है! – SexyBeast

+0

मुझे लगता है कि "अपरिभाषित की विधि 'addClass' कॉल नहीं कर सकता।" आपकी jquery.js फ़ाइल से आ रहा है? –

उत्तर

35

किसी भी व्यक्ति को इस प्रश्न पर वापस पढ़ने के लिए, यदि आप सीडीएन से खींच रहे हैं, तो नवीनतम jQuery UI संस्करण से खींचने का प्रयास करें। मुझे यह समस्या भी मिली, और इसे बाद में jQuery UI संस्करण का उपयोग करके हल किया गया।

+2

मुझे स्क्रॉल प्लगइन के साथ एक ही समस्या थी और मैंने अपनी परियोजना में संस्करण 1.8.23 खींच लिया और यह अब एक आकर्षण की तरह काम कर रहा है! –

+0

सफलता! खुशी है कि मैं किसी को कुछ समय बचा सकता है। :-) – Vinay

+3

मेरी इच्छा है कि मैं इस जवाब को दस लाख के साथ "ऊपर" कर सकता हूं। धन्यवाद! –

19

मैं "मिनट" में पूर्णांकों का उपयोग कर, "अधिकतम" और "मूल्यों" करके इस त्रुटि को हल किया। शायद आप शून्य मान सेट कर रहे हैं।
jQuery स्लाइडर विनिर्देश का कहना है:

  • अधिकतम संख्या डिफ़ॉल्ट: 100
  • मिनट संख्या डिफ़ॉल्ट: एक 0

तो "मूल्यों" हैं: 0

  • मूल्य संख्या डिफ़ॉल्ट संख्याओं की सरणी

  • +0

    जिसने मेरे लिए समस्या हल की, धन्यवाद। – Raspo

    +0

    ditto। मेरे पास 'मान' को एक अपरिभाषित चर पर सेट किया गया था। – merv

    +0

    मैं '.val()' का उपयोग करके इनपुट से अपने न्यूनतम/अधिकतम इत्यादि को पकड़ रहा था, मुझे उन्हें 'parseInt()' में लपेटना पड़ा और यह मेरे लिए इसे –

    1

    एक और संभावना - यह त्रुटि तब आ सकती है जब स्लाइडर के लिए न्यूनतम या अधिकतम गुम हो। यदि आपकी स्टार्टफिलिंग या एंडफिलिंग किसी तारीख को मूल्यांकन नहीं कर रही है, तो नई हैंडल स्थिति की गणना करने का प्रयास करते समय स्लाइडर कोड विफल हो जाता है।

    10

    किसी को भी, जो अभी भी समस्या आ रही है के लिए, यह सुनिश्चित करें कि मूल्यों को जोड़ रहे हैं (min, max, और values सभी नंबरों और नहीं STRINGS कर रहे हैं!

    की समस्या का समाधान के लिए निम्न कोड में विफल रहा था निदान करने के लिए कोशिश कर दिया गया :

    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() के रूप में रिटर्न एक स्ट्रिंग, स्लाइडर jQuery यूआई के संस्करण 1.10.1 की लाइन 12843 पर valueMouse स्थापित करने के लिए असफल रहा था के बजाय एक मूल्य जा रहा है, यह एक स्ट्रिंग (39.99549.21 को कुछ इसी तरह (न्यूनतम लौट रहा था।का मूल्य549.21 के साथ संगत - एक प्रतिशत * अधिकतम मूल्य)

    आशा है कि किसी की सहायता करें!

    +0

    एटीआर ('डेटा-मिनट') का उपयोग न करें, jQuery में डेटा ('मिनट') का उपयोग करें, एचटीएमएल 5 मानक –

    +0

    मेरी समस्या स्लाइडर मूल्यों को अपडेट करने के लिए 'संख्या' के बजाय 'स्ट्रिंग' पास कर रही थी – bFunc

    3

    मुझे यह संस्करण नवीनतम संस्करणों के साथ भी था। समाधान आसान है: parseInt() का उपयोग jQuery ui स्लाइडर के लिए

    सेटर उदाहरण स्लाइडर्स के लिए डायनामिक मान पारित करने के लिए:

    $("#mySlider").slider("option",{min: parseInt(value.min), max:parseInt(value.max),value: parseInt(value.active)}); 
    
    0

    असंशोधित jQuery-UI.min.js का उपयोग कर समस्या हल हो। एक कस्टम स्क्रिप्ट का उपयोग करने से त्रुटि आई। JQuery- UI-custom.js

    संबंधित मुद्दे