2013-11-10 1 views
0

TreeView의 선택된 노드에서 HtmlAttribute에 액세스하려고하는데 버튼 클릭에서 가져 오는 방법을 알 수 없습니다. 나는 내가 HTML 속성을 추가 자식 분기를 추가하고 내가 잡고 싶은 후에 내가 MVC4 검도 UI 면도기 엔진ButtonClick에서 TreeView의 HtmlAttribute에 액세스

을 사용하고

선택한 'TypeId'나는 다른보기로 전송 버튼을 클릭 할 때.

아래 링크를 시도했지만 컨트롤러/액션에 매개 변수를 보내려고 할 때 내가 시도한 모든 것이 null 참조를 제공합니다.

<script> 

     $("#btn").click(function() { 
      var treeview = $("#TreeView").data("kendoTreeView");//how to grab the selected idtopass? 
      window.location = "@Url.Action("Index","Content")" + "?id=" + idtopass; 
     }); 

     $(document).ready(function() { 
      treeview = $("#TreeView").data("kendoTreeView"); 
     }); 
    </script> 

편집,

: 나는 하드 코드 예상 그것을 클릭 작업으로 1과 같은 ID : 여기

http://www.kendoui.com/forums/kendo-ui-complete-for-asp-net-mvc/treeview/cannot-get-value-of-selected-item-in-treeview.aspx

http://www.kendoui.com/forums/kendo-ui-complete-for-asp-net-mvc/treeview/select-selected-node.aspx

http://docs.kendoui.com/api/web/treeview#dataitem

스크립트 인 경우

시도 내가 요소를 마우스 오른쪽 클릭을 아이를 선택하고 검사 할 때 다음이

$("#btn").click(function() { 
     var treeSelected = $("#TreeView").data("kendoTreeView"); 
     var idtoPass = treeSelected.dataItem(treeview.select()).Id;//how to grab the selected idtopass? 

     window.location = "@Url.Action("Index","Content")" + "?id=" + idtoPass; 
    }); 

같은 일이

<li class="k-item" data-id-to-pass="30" data-uid="151ce59e-97cf-4aed-b8d7-3054c886d68c" role="treeitem" aria-selected="true" id="treeview_tv_active"> 
    <div class="k-top"> 
     <span class="k-in k-state-selected">This is the Test Text</span> 
    </div> 
</li> 

답변

1

는 다음과 같은 데모는 ID가 설정되는 제공 주어진 꽤 쉽게해야처럼 보인다 구글 크롬 경위입니다 DOM에서. 그 부분이 작동하는지 확인 했습니까? 저는 Chrome을 사용하고 "요소 검사"를 마우스 오른쪽 버튼으로 클릭하여 DOM 구조를 봅니다. http://docs.kendoui.com/api/web/treeview#methods-select

해당 속성을 사용하여 값을 가져 오려면 onSelect 메서드에서 e.node가 DOM 노드를 제공해야합니다. 귀하의 data_id_to_pass 속성이 그 노드 또는 그 부모에 있다고 추측합니다. $ (e.node) .attr ("data_id_to_pass") 또는 $ (e.node) .parent(). attr ("data_id_to_pass")와 같은 것입니다.

버튼 클릭 핸들러에서 선택한 노드를 가져 오려면 treeview.select()를 사용하여 선택한 노드를 가져옵니다.

첫 번째 링크에서 언급 한 Alex와 같은 Id 속성을 사용해 보셨습니까? 그것은 더 나은 접근법처럼 보입니다. treeview.dataItem (treeview.select()). 할 수 있어야한다. 그가 말한 것이 dataItem의 Id 속성을 채우는 데 사용되면 작동한다.

+0

나는 요소들을 검사했다. "data-idtopass ="26 ""예상대로 나타납니다. 그것이 내가보기에 붙잡 으려고하는 것입니다. 나는 네가 제안한 것을 시도 할 것이다. 감사. UpVote 큰 도움이됩니다. 그리고 yes data_id_to_pass가 자식 노드 – user1307149

+0

에 있습니다. .Id가 동작에 대해 null 매개 변수를 던지고 있습니다. – user1307149

+0

위의 관리자 코드로 업데이트되었습니다. – user1307149