Я помогаю другу настроить jsTree. Мы пытаемся сделать так, чтобы при нажатии на узел страница загружалась в другой блок сбоку. Однако вроде все работает, но .load
почему-то не срабатывает. Я использовал предупреждение для проверки thisItem
, и оно определено и является правильной переменной.
$(function() {
$('.tree').jstree().delegate("a", "click", function(event, data){
event.preventDefault();
var thisItem = $(this).attr('id');
thisItem += ".html";
alert(thisItem);
$('.table').load(thisItem);
});
});
Это HTML:
<div class = "tree">
<ul>
<li id = "1"><a href = "" id = "1">Test 1</a>
<ul>
<li id = "2"><a href = "" id = "2">Test 2</a></li>
</ul>
</li>
</ul>
</div>
<div class = "table">
</div>
У меня есть страницы, соответствующие этим идентификаторам, которые я хочу загрузить в table
. Это работает без jstree с обычным .click
... но я хотел бы использовать его с jstree.
Я просто не могу понять, почему он не загружает страницу при использовании jstree... но он будет работать, когда я не использую jstree. Я даже пытался сделать .click
на .tree li
за пределами jstree, но это тоже не сработало. (Если я избавлюсь от всего jstree, этот код здесь сработает.)
$('.tree li').click(function() {
var thisItem = $(this).attr('id');
thisItem += ".html";
$('.table').load(thisItem);
});
Примечание. Это всего лишь тест для более динамичной части проекта.