2013-10-07 6 views
0

У меня есть dynatree, который я хочу динамически загружать данные дерева. Я использую это в сочетании с аккордеоном jquery. Я использую для каждого цикла для заполнения div, но это будет лучше для illustartion. Вот мои divsДинамически загружается 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 функции initajax дерева. Я получаю идентификатор, как это.

 $(".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: {}, 
    }, 

Я попробовал несколько разные вещи, не повезло. В идеале я хочу, чтобы каждый ДИВ заселяться с древовидномом по щелчку аккордеона заголовка Спасибо

ответ

1

Предполагая, что GetProjectTypeData действия принимает параметр, называемый идентификатором, то это должно работать:

$(".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 будет вызван несколько раз, потому что мои divs генерируются динамически, используя a для каждого цикла. Это просто divs для иллюстрации для простоты. – CSharper

Смежные вопросы