JQueryUI手风琴changestart事件 - 如何从中获取数据?

时间:2010-08-18 15:16:04

标签: jquery-ui accordion

http://jqueryui.com/demos/accordion/#event-changestart

我正在尝试使用JQuery ajax请求获取一些数据,并在扩展行时填充每个JQueryUI手风琴行中的div的主体。我的目的是在手风琴的可点击的h3中有一个隐藏的字段,或者一些这样的字段,当changestart事件触发时,ajax会关闭并获得该手风琴行的唯一页面并用有用的html填充它。

我的问题是我似乎无法找到有关附加到changestart事件函数参数中返回的对象的属性或值的任何信息。有谁知道如何做到这一点或获得这些价值观?

我现在的代码是:

$("#accordion").accordion({
                collapsible: true,
                active: false,
                changestart: function(event, ui) {
                    alert('hello:' + event.target.id + ':' + ui.id);
                }
            });

会抛出显示消息hello:accordion:undefined

的提醒

我看过这篇帖子似乎与我想弄清楚的一致...... jQuery UI object type for "ui" object passed to the callback function?

谢谢,

2 个答案:

答案 0 :(得分:2)

ui看起来像这样:

$('.ui-accordion').bind('accordionchangestart', function(event, ui) {
  ui.newHeader // jQuery object, activated header
  ui.oldHeader // jQuery object, previous header
  ui.newContent // jQuery object, activated content
  ui.oldContent // jQuery object, previous content
});

答案 1 :(得分:1)

您可以轻松访问这些ui.new | old元素的内容。 它们是jQuery元素,这就是为什么它们看起来有点奇怪。

jQuery方式

ui.newHeader.first().html()

如果您需要访问dom元素,请使用.get()

ui.newHeader.get().first()