javascript - जे एस/jQuery प्रकारई त्रुटि: jQuery(...).Datepicker एक फ़ंक्शन नहीं है




wordpress jquery-ui (6)

मैं इस पर 2 दिनों के लिए अपने सिर को खरोंच कर रहा हूं, मुझे यकीन है कि मैं बस कुछ सरलता से गुम कर रहा हूं, लेकिन मैं नहीं जान सकता कि यह क्यों काम नहीं कर रहा है।

मैं अपने वर्डप्रेस साइट पर नीचे एक स्क्रिप्ट का उपयोग करने की कोशिश कर रहा हूं ताकि किसी ContactForm7 फॉर्म में डेटपेकर फ़ील्ड के भीतर विशिष्ट तिथियों को अक्षम किया जा सके।

मैं jsfiddle में स्क्रिप्ट को एक ही आईडी का उपयोग करके सरल इनपुट फ़ील्ड के साथ लोड कर सकता हूं और यह पूरी तरह से काम करता है ... लेकिन जब मैं इसे अपनी साइट पर जोड़ता हूं, तो तिथियां अक्षम नहीं होती हैं, और जेएस त्रुटि कंसोल में एक त्रुटि है जो " jQuery (...)। Datepicker एक फ़ंक्शन नहीं है "

मैंने इसे मेरे header.php फ़ाइल में जोड़ा है, बस wp_head() कॉल के नीचे और </head> टैग से ऊपर। मैंने अपना datepicker फ़ील्ड dpick के आईडी के साथ स्क्रिप्ट उपयोग की तरह dpick

मैंने पढ़ा है कि यह त्रुटि आमतौर पर $ प्रतीक का उपयोग करते समय होती है क्योंकि यह वर्डप्रेस में अन्य jQuery स्क्रिप्ट के साथ विरोधाभासी हो सकती है ... इसलिए उन्होंने $ के बजाय $ स्थान का सुझाव दिया (जो मैंने नीचे दी गई स्क्रिप्ट में किया है) ... लेकिन मैं 'अभी भी त्रुटि मिल रही है

var unavailableDates = ["1-9-2013", "2-9-2013", "3-9-2013", "4-9-2013", "5-9-2013"];

    function unavailable(date) {
            dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
            if (jQuery.inArray(dmy, unavailableDates) == -1) {
                return [true, ""];
            } else {
                return [false, "", "Unavailable"];
        }
    }

        jQuery(function() {
            jQuery( '#dpick' ).datepicker({
                dateFormat: 'dd MM yy',
                beforeShowDay: unavailable
        });

    });

किसी भी मदद के लिए आपको पर्याप्त धन्यवाद नहीं दे सकता ... यह ऐसी साधारण बात की तरह लगती है, लेकिन मैं इसके आसपास मेरे सिर को लपेट नहीं पा रहा हूं!


इस त्रुटि के कई कारण हैं:

  1. Jquery.ui jquery से पहले प्रयोग किया जाता है।
  2. $ दूसरे पुस्तकालय द्वारा उपयोग किया जाता है
  3. Jquery lib कि स्थानीय रूप से संदर्भित किया गया है (वर्डप्रेस) में jquery.ui का उपयोग करने से अलग संस्करण है।
  4. जब सही लाइब्रेरी और संस्करण संदर्भित होता है तो ब्राउजर कैश को साफ किया जाना चाहिए।

जांचें कि सभी फाइलें लोड हो गई हैं। 200 ठीक स्थिति चाहिए।


मुझे पता है कि यह सवाल पुराना है लेकिन हो सकता है कि यह अन्य लोगों की सहायता कर सके:

वर्डप्रेस में जेएस को शामिल करने का सबसे अच्छा अभ्यास यह है कि इसे पीएचपी टेम्प्लेट में कतारबद्ध समारोह का उपयोग करना है:

wp_enqueue_script( 'script', get_template_directory_uri() . '/js/script.js', array ( 'jquery' ), 1.1, true);

( यहां देखा गया )

यह आपकी स्क्रिप्ट की निर्भरता को घोषित करने की अनुमति देता है, इस मामले में, jquery datepicker। आप उस बिल्ट-इन स्क्रिप्ट की जांच कर सकते हैं जो WordPress में प्रदान कर सकता है:

https://developer.wordpress.org/themes/basics/including-css-javascript/#default-scripts-included-and-registered-by-wordpress

Wordpress विशेष रूप से jquery datepicker के लिए निर्भरता प्रदान करता है ताकि आप अपनी स्क्रिप्ट को कुछ तरह से शामिल कर सकें:

wp_enqueue_script( 'script', 'mypath' . '/js/script.js', array ( 'jquery', 'jquery-ui-datepicker' ), 1.7, true);

ध्यान दें कि यदि आप केवल jquery निर्भरता की घोषणा करते हैं तो आपको एक त्रुटि मिल जाएगी

'jQuery.datepicker (...) एक फ़ंक्शन नहीं है'

चूंकि datepicker फ़ंक्शंस बेस वर्डप्रेस jquery में शामिल नहीं हैं।


मुझे पता है यह एक पुराना मुद्दा है मुझे यह वही मुद्दा था और यह jquery- 1.10.2.js और jquery-ui.js के साथ jquery.min.js को शामिल करने के कारण था। इसलिए jquery.min.js को मेरे प्रकार प्रकार एरर निकालकर: $ (...)। Datepicker फ़ंक्शन का समाधान नहीं हुआ है। आशा है कि यह किसी को मदद करता है


मेरे पास वर्डप्रेस के साथ ज्यादा अनुभव नहीं है, इसलिए मैं मदद करने की कोशिश कर रहा हूं। मैंने हालांकि पिकैडेट का इस्तेमाल किया है

अतीत में मैंने इससे पहले इस त्रुटि को मिला है

अनक्यूट टाइप एरर: ऑब्जेक्ट [ऑब्जेक्ट ऑब्जेक्ट] में 'datepicker' का कोई तरीका नहीं है

यह आम तौर पर होता है क्योंकि मैंने जेएस फाइल को सही क्रम में लोड नहीं किया था आपकी साइट पर डेवलपर टूल्स को देखकर मुझे नहीं लगता कि पिकैडेट प्लगिन कहां भरा हुआ है। मैं जांच करूँगा (यदि आपके पास अभी तक नहीं है) यह सुनिश्चित करने के लिए कि प्लगइन को लोड किया जा रहा है और साथ ही सही क्रम में लोड किया जा रहा है


मैंने पाद लेख से सभी लिपियों को सिर में ले जाने के बाद चीजें शुरू करने के लिए,





datepicker