2013-04-26 2 views
1

목록보기 항목을 클릭하면 개체의 모달보기가 모든 세부 정보와 함께 나타납니다. 내가 클릭 목록보기 항목을 참조하는 방법을 찾으려고 노력하고 있으며 난처한 상황입니다. This JS Fiddle은 내 것과 동일한 목록보기 설정입니다. 클릭 한 항목을 참조하는 방법에 대한 도움은 매우 유용 할 것입니다.목록보기 항목의 상세보기 kendo ui

나는 자바 스크립트를 이해하는 데 어려움을 겪고 일부이 같은 것입니다 문서,하지만 메신저를 발견

var lvData = $('#eventFeed').data('kendoListView'); 
    var index = $(this).parents('.event:first').index() + lvData.eventInfo._skip; 

    var itemInfo = lvData.eventInfo._data[index]; 
    $('<div id="eventInfo"></div>').appendTo(document.body); 
    $('views/eventInfo').kendoWindow(); 

답변

0

첫째 :

<a data-role="button" class="view" data-click="onClick" id="#=id#">Details</a> 
:
이 같은 플래그로 설정 ID를 얻을 수 있습니다

두 번째 : 검도 - 템플릿을 사용하여 템플릿에 데이터를 전달할 수 있습니다. http://docs.kendoui.com/getting-started/framework/templates/overview

데이터가 어떤 ID이없는 경우
<div id="modal" data-role="modalview" style="width: 95%; height: 95%;"> 
</div> 

<script id="javascriptTemplate" type="text/x-kendo-template"> 
    <ul> 
    #=data['indexKey']# 
    </ul> 
</script> 

<script type="text/javascript"> 
    function onclick(e) 
    { 
     var dataSet = $('#eventfeed').data("kendoMobileListView").dataSource._pristine; //raw data-source 
     var currentData; 
     var curID = e.sender.element.attr('id'); 
     for(var i=0; i < dataSet.length; i++) 
     { 
      if(dataSet[i].id == curID) 
      { 
       currentData = dataSet[i]; 
       break; 
      }   
     } 
     var template = kendo.template($("#javascriptTemplate").html()); 
     var htmlCode = template(currentData); //Execute the template 
     $("#modal").html(htmlCode); //Append the result 
     $("#modal").data("kendoMobileModalView").open(); 
    } 
</script> 

, 당신은 사용할 수 있습니다 UID (검도-UI별로 자동 생성 된). 같은 그런 다음 코드를

$('#eventfeed').data("kendoMobileListView").dataSource._data 

을 : 그래서 당신은이 방법으로 데이터 집합을 얻을 수 있습니다

<script type="text/javascript"> 
    function onclick(e) 
    { 
     var dataSet = $('#eventfeed').data("kendoMobileListView").dataSource._data; 
     var currentData; 
     var curUID = e.sender.element.closest('li').attr('data-uid'); 
     for(var i=0; i < dataSet.length; i++) 
     { 
      if(dataSet[i].uid == curUID) 
      { 
       currentData = dataSet[i]; 
       break; 
      }   
     } 
     var template = kendo.template($("#javascriptTemplate").html()); 
     var htmlCode = template(currentData); //Execute the template 
     $("#modal").html(htmlCode); //Append the result 
     $("#modal").data("kendoMobileModalView").open(); 
    } 
</script> 
+0

는 온 클릭 내가 jsfiddle을 변경하는 경우와 같이 제대로 작동 나던 (데이터)의 onclick에 대한 매개 변수를 가지고 오류. –

+0

정말 미안해, 그건 내 잘못이야. 나는 그것을 체크하지 않았다 ... 나는 당신이 시도 할 수있는 나의 대답을 업데이트했다 :) – hungdoan