2012-09-07 17 views
5

Bu, basit olması gerektiği gibi görünüyor, ancak jstree "data.rslt.obj.text()" yöntemi, tüm düğümlerin yanı sıra tüm çocuklara ait metinleri döndürmeyi de seviyor. Bir düğümün (new_name) yeniden adlandırılmasıyla mevcut düğümün adını nasıl alacağımı anladım, ancak sadece onu seçtiğimde SADECE geçerli düğümün metnini nasıl alabilirim? Ayrıca, krom veya firebug kullanarak jstree'deki tüm bu yöntemleri ve özellikleri nasıl bulacağımı anlatayım. Örneğin, "data.rslt" yi seçtiğimde ortaya çıkan öğeler listesine nerede bakabilirim. Teşekkürler!Seçilmiş olan düğümün metnini jstree'ye nasıl alabilirim?

$("#RequirementsTree") 
    .bind("select_node.jstree", function(event, data) { 
      if(is_requirement_node(data)) 
      { 
       var ReqCheck = data.rslt.obj.attr("name"); 

       @* This is a REQUIREMENT *@ 
       if(ReqCheck == "requirement") 
       { 
        $("#RMSDoc_RequirementFlag").val("EDIT"); 
        $("#RMSDoc_RBSRequirement_RequirementsId").val(data.rslt.obj.attr("id").substring(4)); 
        $("#RMSDoc.RBSRequirement.RequirementsId").val(data.rslt.obj.attr("id").substring(4)); 
        $("#RMSDoc_RBSRequirement_RequirementsText").val($.trim(data.rslt.obj.text())); 
        $("#RMSDoc_TreeBranch_Text").val(""); 
        $("#HierarchyText").hide(); 
        $("#RMSDoc_TreeBranch_Text").hide(); 
        $("#ExistingTreeSubmit").val("@Model.RMSDoc.RMSEditReqButton.ConfigurableLabelDesc"); 

       } 
       else { 
        alert("Requirement node select error"); 
       } 
      } 
      @* This is a TREE BRANCH *@ 
      else 
      { 
       debugger; 
       $("#RMSDoc_RequirementFlag").val("ADD"); 
       $("#HierarchyText").show(); 
       $("#RMSDoc_TreeBranch_Text").show(); 
       $("#RMSDoc_TreeBranch_Text").val($.trim(data.rslt.obj.text())); 
       $("#RMSDoc_TreeBranch_id").val(data.rslt.obj.attr("id").substring(4)); 
       $("#RMSDoc_RBSRequirement_RequirementsText").val(""); 
       $("#ExistingTreeSubmit").val("@Model.RMSDoc.RMSCreateReqButton.ConfigurableLabelDesc"); 
      } 
    }) 
    .bind("create.jstree", function(e, data) { 

cevap

9

araçlar bölümündeki seçicileri length kontrol edebilirsiniz size onay kutularıyla jstree kullanıyorsanız. Onay kutularının içine değilseniz

if ($('.jstree-checked').length == 1) { 
    alert('Checked Item -: ' + $('.jstree-checked').text()); 
} 

sonra bu seçiciyi kullanın.

if ($('.jstree-clicked').length == 1) { 
    alert('Selected Item -: ' + $('.jstree-clicked').text()); 
} 

jstree için tüm öğeleri ve yöntemleri listesini almak için, .. Örneğin .bind yöntemini bulabilirsiniz dosyası jstree.js içinde krom veya Firebug Ya bir hata ayıklama noktasını koymak gerekir .js ve o satırın üzerine bir hata ayıklama noktası koyar .. Bu nokta vurur zaman içinde yöntemlerin bir bakış elde etmek için argümanlar üzerinde gezinebilirsiniz ..

+0

Teşekkürler! İşe yaradı. $ ('. jstree-clicked') metin() data.rslt.obj.text() 'i kullanmaktan çok daha iyidir, çünkü tüm çocukları dahil etmek yerine tıkladığınız düğümün metnini yakalar. – TheDude

İlgili konular