2010-08-18 72 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()