You need to include jQuery UI, or at least the jQuery UI Core, which
contains the $.widget plugin. You can get it here

http://jqueryui.com/download

- Richard

On Wed, Mar 4, 2009 at 2:09 AM, Reggie Niccolo Santos <
reggieniccolo.san...@gmail.com> wrote:

> Hi,
>
> I'm quite new to jQuery and jQuery UI development (and even JavaScript for
> that matter) and I've been trying out the examples from this tutorial:
>
> *
> http://youngisrael-stl.org/wordpress/understanding-jquery-ui-widgets-a-tutorial/
> *
>
> and midway through the tutorial, I came across this error while trying out
> the examples:
>
> TypeError: $.widget is not a function
>     at [Top-level script]() (TestJQueryProject/scripts/testwidget2.js:67)
>
> Here's the source code:
>
> *example-jquery-ui-widget.html:*
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
> http://www.w3.org/TR/html4/strict.dtd";>
> <html dir="ltr" lang="en">
>     <head>
>         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
>         <title>Example: jQuery UI Widget</title>
>         <script type="text/javascript"
> src="../lib/jquery/jquery.min.js"></script>
>         <script type="text/javascript"
> src="../scripts/testwidget2.js"></script>
>     </head>
>     <body>
>         <p class="target">This is a paragraph called with .green4({
>                 level:3,
>                 greenlevels: ['#000', '#00f', '#088', '#0f0', '#880',
> '#f00', '#808', '#fff']
>             }).
>         </p>
>         <input type="button" id="toggle" name="on" value="Turn green" />
>         <input type="button" id="darker" name="darker" value="Darker" />
>         <input type="button" id="lighter" name="lighter" value="Lighter" />
>     </body>
> </html>
>
> and *testwidget2.js:*
>
> $(function() {
>     var STR_DARKER = "darker";
>
>     var STR_LIGHTER = "lighter";
>
>     var STR_OFF = "off";
>
>     var BTN_LABEL_TURNGREEN = "Turn green";
>
>     var BTN_LABEL_TURNOFF = "Turn off";
>
>     $("#toggle").click(function() {
>         if ($(this).val() == BTN_LABEL_TURNGREEN) {
>             $(".target").green3();
>             $(this).val(BTN_LABEL_TURNOFF);
>         } else {     // ($(this).val() == BTN_LABEL_TURNOFF;
>             $(".target").green3(STR_OFF);
>             $(this).val(BTN_LABEL_TURNGREEN);
>         }
>     });
>
>     $("#darker").click(function() {
>         $(".target").green3(STR_DARKER);
>     });
>
>     $("#lighter").click(function() {
>         $(".target").green3(STR_LIGHTER);
>     });
> });
>
> var Green3 = {
>
>     _init: function() {
>         this.setLevel(15);
>     },
>
>     greenlevels: ["#000", "#010", "#020", "#030", "#040", "#050", "#060",
> "070", "#080",
>         "#090", "#0a0", "#0b0", "#0c0", "#0d0", "#0e0", "#0f0", "#fff"],
>
>     level: 0,
>
>     getLevel: function() {
>         return this.level;
>     },
>
>     setLevel: function(x) {
>         this.level = Math.floor(Math.min(this.greenlevels.length - 1,
> Math.max(0, x)));
>         this.element.css({ background: this.greenlevels[this.level] });
>     },
>
>     darker: function() {
>         this.setLevel(this.getLevel() - 1);
>     },
>
>     lighter: function() {
>         this.setLevel(this.getLevel() + 1);
>     },
>
>     off: function() {
>         this.element.css({ background: "none"});
>         this.destroy();     // use the predefined function
>     }
> };
>
> $.widget("ui.green3", Green3);     // create the widget (the error occurs
> at this line)
> $.ui.green3.getter = "getLevel";
>
> I'm using:
>
> *Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6) Gecko/2009020911
> Ubuntu/8.04 (hardy) Firefox/3.0.6*
>
> Sorry if this turns out to be a simple typo error. I find it quite hard to
> debug JavaScript code.
> Hope you may be able to help me. Thanks in advance.
>
> --
> Warm regards,
> Reggie
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery UI" group.
To post to this group, send email to jquery-ui@googlegroups.com
To unsubscribe from this group, send email to 
jquery-ui+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-ui?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to