2011-12-30 5 views
0

Dojo Toolkit을 사용하여 Dojo Toolkit과 일본어 학습에 도움이되는 SRS를 작성하고 있습니다.dijit.Editor에 일본어 문자가 표시되지 않습니다.

SRS를 모르는 사람들은 기본적으로 플래시 카드 시스템입니다.

그래서 저는 검토 할 카드 갑판을 선택할 수있는 사이드 바를 가지고 있습니다. 목록에서 갑판을 클릭하면 TabContainer에 새 탭이 열리고 두 개의 ContentPane이 들어 있습니다.

ContentPane 현재 url 파일 json A와 가진 ItemFileWriteStore를 사용하는 DataGrid이 포함되어 있습니다.

json 파일은 id, questionanswer을 possesing 각 항목으로 DataGrid에 대한 항목이 포함되어 있습니다.

id은 현재 integer 값이고 questionanswer은 모두 일본어 문자열을 포함합니다.

아이디어는 DataGrid의 행을 클릭 할 때 DataGrid를 포함하는 하나의 아래 ContentPane 그것이 dijit.Editor로 대체 내용의이 있어야한다는 것입니다.

대체하기 전에 ContentPane의 원래 내용은 Click on the rows in the grid above to edit a card's details이라는 단순한 문자열입니다.

프로그래밍 방식으로 dijit.Editor을 만들고 있는데, DataGrid의 행에서 일본어 문자열을 제공 할 때까지 모든 것이 잘 작동합니다.

(gridDataGrid 객체이며 card_detailsContentPaneid입니다) 위의 코드를 생성

dojo.connect(grid, 'onRowClick', function(e) { 
    var id = grid.getItem(e.rowIndex).id; 
    var question = grid.getItem(e.rowIndex).question; 
    var answer = grid.getItem(e.rowIndex).answer; 

    dojo.byId('card_details').innerHTML = ''; 

    var editor = new dijit.Editor({ 
     id: 'editor', 
     value: question 
    }, dojo.byId('card_details')); 
}); 

:

DataGrid 행의 정보를 가져오고 dijit.Editor이 만들어 내 자바 스크립트입니다 dijit.EditorContentPane이지만 question 변수에 저장된 값으로 채우지 않습니다 (변수를 기록하고 경고했으며 포함하고 있습니다). 기대 값).

그러나 변수를 My String과 같은 리터럴 문자열로 바꾸거나 일본인 인 反乱者과 같이 바꾸면 올바르게 작동합니다. var question = grid.getItem(e.rowIndex).question;로 :이 grid.getItem(e.rowIndex).question 통해 값의 할당 된 question 변수를 사용하는 경우 작동하지 않습니다 이유 var question = '反乱者';

아무도 알고 있나요 내가 대체 할 경우

도 작동이?

나는 Dojo Toolkit과 관련하여 아직 초보자이므로 분명히 분명해야합니다.

도움이 될 것입니다.

답변

0

지금 내 질문에 대한 답변을 찾았습니다.

var question = grid.getItem(e.rowIndex).question; 

에 :

var question = grid.store.getValue(grid.getItem(e.rowIndex), 'question'); 

그것은 그냥 변경하는 데 필요한 밝혀

관련 문제