2011-02-02 15 views
7

ui eklentisi kullanılarak ağaç düğümlerinin bağlantılarını kırdığını buldum. Bu yeni bir şey değil, başka bir yerde bu soruna referanslar buldum. İlk neden, jQuery doğrulama eklentisinin v1.6 ile ilgili bir problemdi. Ben bu eklentiyi kullanmıyorum, bu sebep olamaz.UI eklentisi kullanıldığında Jstree düğümleri çalışmaz

Ayrıca jstree tıklama sınıfı <a> etiketine ekleme birkaç yolu açıklayan iyi bir gönderme bulundu. Bu umut verici görünüyordu, ama denediğimde herhangi bir fark görmedim. beklendiği gibi

Ben ui eklentisi dışarı alırsak
<div id="treediv"> 
    <ul> 
     <li id="page1"><a href="http://www.yahoo.com" class="jstree-clicked">YAHOO!</a></li>   
    </ul> 
</div> 
<script type="text/javascript" class="source"> 
$(function() { 

$("#treediv") 
    .jstree({ 
     "core" : { 
      "animation" : 0 
     }, 
     "themes" : { 
      "theme" : "classic" 
     }, 
     "plugins" : [ "themes", "html_data", "cookies", "ui" ] 
    }); 
}); 
</script> 

ardından linkine tıklayıp yahoo.com beni alır: Burada çok basit bir örnektir. Herhangi bir fikri olan var mı?

cevap

10

Sanırım found the answer on the jstree discussion group. UI eklentisinin düğümlerin "seçili" olmasına izin verdiğine, ancak tıklamanın bağlantı etiketine geçmediğine inanıyorum. Yani, bir düğüm seçildiğinde çalıştırılacak bir işlevi bağlamak zorundayım. Ben aşağıdaki gibi bir .bind ile bu gerçekleştirilebilir: Bir yan fayda olarak

.bind("select_node.jstree", function (e, data) { 
    var href = data.rslt.obj.children("a").attr("href"); 
    // this will load content into a div: 
    $("#contents").load(href); 
    // this will follow the link: 
    document.location.href = href; 
    }) 

, bu örnek de bana gösterdi o bir ağaç düğümü tıklayın ve başka div dinamik içeriğini göstermek için ne kadar kolay. Örneğin, aşağıdaki gibi ağaç düğümü (html_data jstree eklentisi ve Struts2 kullanarak) tanımlandı varsayalım: do-şey eylem yürütülecek neden olacağını ağaç düğümünde

<li id="node1"> 
    <a href="do-something.action">Do Something</a> 
</li> 

tıkladığınızda ve sonuçlar görüntülenecektir id "içerik" ile div.

+1

+1! Teşekkürler Jeff, bu harika çalışıyor. –

+0

@Metro Smurf Aynı problemim var, jtree bir çerçeve kümesinin parçası. Sol taraftaki bölmede bulunur ve sağ taraftaki bölmeyi bağlantı içeriğiyle değiştirmek için düğümü tıklatmak istiyorum. Bu düzeltmeyle, html bağlantıları olmasa bile bağlantılar doğru olsa bile sol taraftaki yerini alır. Herhangi bir fikir ? –

+0

@PaulTaylor - Bilmem; Sadece cevabı temizledim. İsteyen kişi Jeff olurdu. –

İlgili konular