2010-08-18 68 views
4

http://jqueryui.com/demos/accordion/#event-changestartJQueryUI手风琴changestart事件 - 如何从中获取数据?

我想有一个JQuery的Ajax请求得到一些数据和填充div的身体里面我的每一个jQueryUI的手风琴行的当行展开。我的意图是在手风琴的可点击的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?

感谢,

马特。

+0

回答这个职位是非常帮忙,顺便说一句:HTTP://计算器。 com/questions/208016/how-to-list-the-properties-of-javascript-object – 2010-08-18 15:30:48

回答

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 
}); 
+0

是的,但那些是为了什么?例如,ui.oldHeader似乎有很多属性,但是它们中没有一个与我以前点击的标题中的html有关。它不提供一个ID,为一个。 – 2010-08-18 15:37:50

+0

更重要的是,这些属性如何帮助找到选中的html dom对象,然后触发changestart事件? – 2010-08-18 15:40:39

+0

'changestart'事件绑定到手风琴而不是开始该过程的元素。如何订阅问题'h3'的'click'事件... – 2010-08-18 15:57:25

1

您可以访问这些ui.new内容|易老元素。 他们是jQuery元素,这就是为什么他们看起来有点奇怪。

jQuery的方式

ui.newHeader.first().html() 

如果你需要访问DOM元素的使用获得()

ui.newHeader.get().first()