Sorry for the repeat posts, but the link above was incorrect (I'm at a
different computer right now). This is the revision I used:

http://dev.jquery.com/browser/trunk/plugins/treeview/jquery.treeview.js?rev=4685

...although there appear to be more recent revisions...I'm not sure
which is best.


On Jul 16, 12:06 pm, "Matt B." <mbrown...@gmail.com> wrote:
> Edit: I realized that "cookieOptions" is actually a version 1.4.1
> feature, only available from the SVN. The feature has not yet been
> added to the minified version, so you need to grab the uncompressed
> version here:
>
> http://dev.jquery.com/browser/trunk/plugins/treeview/jquery.treeview.js
>
> So it's not undocumented, it's just that 1.4.1 hasn't officially been
> released yet.
>
> On Jul 16, 8:45 am, "Matt B." <mbrown...@gmail.com> wrote:
>
> > I just thought I'd post a solution I came up with that may be helpful
> > to anyone using thetreeviewplugin fornavigation.
>
> > The problem I ran into was that the cookie persistence was working,
> > but since I was using the tree fornavigationto different directories
> > of my site, sometimes the cookie wouldn't get set correctly and the
> > state of the tree would end up being one step behind what the user had
> > just clicked -- so the previously clicked node would be expanded
> > rather than the current one.
>
> > Thanks to some helpful posts I found on here, I discovered that the
> > problem was the cookie path.
>
> > The solution is to use an (undocumented) option that was added to the
> > plugin as of version 1.4: 'cookieOptions', which lets you set the
> > cookie path.
>
> > If yournavigationtree could potentially be used for any page in your
> > domain, then you would set the cookie path to the root, like this:
>
> > cookieOptions: {path: '/'}
>
> > ..or if your site is in a subdirectory you should use this:
> > cookieOptions: {path: '/my_subdirectory/'}
>
> > In my case I'm using PHP and I have my site root stored in a constant
> > called WEB_ROOT, so my full code was:
>
> >         $(document).ready(function() {
> >                 $("#sideNav ul").treeview({
> >                         collapsed: true,
> >                         unique: true,
> >                         persist: "cookie",
> >                         cookieOptions: {path: '<?= WEB_ROOT ?>'}
> >                 });
> >         });
>
> > Hope this is helpful to somebody.

Reply via email to