2014-01-10 2 views
0

jqGrid 트리에서 행의 parentId를 가져 오려고합니다. 아래 jqGrid TreeGrid 노드의 부모 ID를 찾으십시오.

내가 잘못 여기서 뭔가를하고 있습니까 샘플 코드

beforeSelectRow: function (rowid, e) { 
    var $this = $(this); 

    var localData = $this.jqGrid("getLocalRow", rowid); 

    var parentNode = $this.jqGrid("getNodeParent", localData); 
} 

내가 객체로 인 parentNode를 얻을하지만 alert(parentNode.id)을 얻기 위해 시도하는 경우, 그것은 null을 반환은 ...입니까?

+0

그것은 경고해야한다 (parentNode.attr ('ID')) 또는 경고 (인 parentNode [0] .ID) 인 parentNode가 있기 때문에 jQuery 객체 –

+0

답변 해 주셔서 감사합니다. alert (parentNode.attr ('id')) 또는 alert (parentNode [0] .id)가 "undefined의 ID를 찾을 수 없습니다."... 경고 (parentNode)가 다음을 반환합니다. [object object] –

답변

0

대소 문자는 아마도?

alert(parentNode.ID) 

나는 ("getNodeParent")는 더 이상 버전 3.7.x (http://www.trirand.com/jqgridwiki/doku.php?id=wiki:treegrid)의로 작동하지 않기 때문에 당신이있는 jqGrid (3.7)의 이전 버전을 사용하는 가정. 당신이 시도하고 사용할 수 있습니다

var record = $(”#grid_id”).getRowData(rowid); console.log(record.ID)

당신이있는 jqGrid의 최신 버전을 사용하는 대신합니다.

+0

응답 해 주셔서 감사합니다. 최신 버전의 jqgrid (4.x.) 및 두 접근 방식을 사용하여 ID 작업 (즉, getNodeParent 또는 getRowData 통해 제안) 및 console.log (record.ID) 작동합니다 잘 작동하지만 얻을 싶어요 이드의 부모 행 .. 내가 그걸 어떻게 하겠니? –

+0

내가 따라야할지 모르겠다. 그러나 지금 rowid와 grid가'$ ("grid_id")를 사용하지 않는 이유는 find ('#'+ record);' –

0

parent 속성을 localData : localData.parent으로 설정하면됩니다. 부모 노드의 id입니다. 그런데 노드의 id은 일반적으로 _id_ 속성에 저장됩니다 (따라서 localData._id_rowid과 같고 dataOfParentNode._id_localData.parent과 같습니다). 부모 노드의 전체 데이터는 getNodeParent 대신 getLocalRow을 사용할 수 있습니다 얻으려면 :

beforeSelectRow: function (rowid, e) { 
    var $this = $(this), 
     localData = $this.jqGrid("getLocalRow", rowid), 
     dataOfParentNode = $this.jqGrid("getLocalRow", localData.parent); 
    ... 
    return true; 
} 
관련 문제