Ticket #5065 (closed bug: fixed)
Broken AJAX tab links after jQuery 1.4
| Reported by: | jabbott7 | Owned by: | |
|---|---|---|---|
| Priority: | blocker | Milestone: | 1.7.3 |
| Component: | ui.tabs | Version: | 1.7.2 |
| Keywords: | 1.4-compat | Cc: | jason.abbott@… |
| Blocking: | Blocked by: |
Description
It seems I must be missing something obvious, but
All AJAX tabs now show the link as ...#ui-tabs-[object Object] rather than #ui-tabs-21 (or whatever number). This causes a mismatch exception to be thrown from jQuery when clicking the tab.
I made a test page (attached) where I can just change between 1.4/1.3.2 to fix or break it. Tried in IE8 and FF35.
Attachments
Change History
Changed 3 years ago by jabbott7
-
attachment
tab-test.txt
added
comment:1 Changed 3 years ago by jabbott7
It looks like line 42 of ui.tabs.js is probably the culprit.
this.options.idPrefix + $.data(a)
given that $.data() has a breaking change. Still not sure how best to fix it.
comment:2 Changed 3 years ago by jabbott7
The workaround is fairly simple. UI 1.8 fixes it so I followed it's example for 1.7.2 and slipped var tabId=0 into the minified tabs function and replaced a.data(b) with (++tabId).
It looks like there might be a couple other spots in the cookies support that use the deprecated .data() call but I haven't activated cookie support. The fix would be similar, I imagine.


HTML source for a test page