2013-10-07 57 views
0

我有一個dynatree,我想要動態加載樹數據。我正在與jquery手風琴一起使用它。我使用每個循環來填充div,但這對illustartion來說會更好。這裏是我的div動態加載DynaTree

<div id="accordion"> 
<h3>Project Type</h3> 
    <div id="1" class="common" style="height:150px;"> 
    </div> 

    <h3>Ammenities</h3> 
    <div id="2" class="common" style="height:150px;"> 
    </div> 
</div 

我想將div的id傳遞給樹的initajax函數。我得到這樣的ID。

 $(".common").prev('h3').click(function() { 
      currentID = $(this).next().attr("id"); 

我想currentID傳遞給這個函數

var URL = "/Home/GetProjectTypeData/?currentID" 
$(".common").dynatree({ 
    checkbox: true, 
    icon: false,  
    initAjax: { 
     type: "POST", 
     url: URL + '=' + currentID, 
     data: {}, 
    }, 

我已經嘗試了幾個不同的東西,沒有運氣。理想我想每個div來與手風琴頭 的點擊樹形視圖中填充謝謝

回答

1

假設GetProjectTypeData動作發生了一個名爲ID參數那麼這應該工作:

$(".common").prev('h3').click(function() { 

    var $tree = $(this).next('.common'); 

    var currentId = $tree.attr("id"); 

    $tree.dynatree({ 
     checkbox: true, 
     icon: false, 
     initAjax: { 
      type: "POST", 
      url: '/Home/GetProjectTypeData', 
      data: { id : currentId } 
     } 
    }); 
}); 
+0

我想你可能會在這裏做些什麼,但這不起作用。我遇到的問題是''GetProjectTypeData()'被多次調用,但參數不會改變。看起來像initAjax調用,只在調用時調用一次 – CSharper

+0

由於dynatree調用之前的選擇器,原始代碼每次點擊都會調用dynatree多次:$(「。common」)。dynatree。我添加的片段只會調用一次:$ tree.dynatree –

+0

我期待多次調用dynatree,因爲我的div是每個循環使用a動態生成的。這些只是divs來說明簡單。 – CSharper