dijit.Editor不显示日文字符

时间:2011-12-30 20:23:22

标签: javascript dojo

我正在使用Dojo Toolkit构建SRS,以帮助我学习Dojo Toolkit和日语。

对于那些不了解SRS的人来说,基本上是闪存卡系统。

所以,我有一个侧栏,我可以选择一副牌来查看,当我点击列表中的牌组时,它会在TabContainer中打开一个包含两个ContentPane的新标签页}第

一个ContentPane包含DataGrid,其中ItemFileWriteStore目前使用urljson个文件。

json文件包含DataGrid的项目,每个项目都包含idquestionanswer

id目前仅为integer值,questionanswer均包含日语字符串。

我们的想法是,当点击DataGrid中的某一行时,包含ContentPane的行下方的DataGrid应将其内容替换为dijit.Editor。< / p>

ContentPane的原始内容在被替换之前只是一个简单的字符串Click on the rows in the grid above to edit a card's details

我正在以编程方式创建dijit.Editor,一切正常,直到我尝试从DataGrid的行中提供日语字符串。

这是我的JavaScript,它获取DataGrid行的信息并创建dijit.Editor

gridDataGrid对象,card_detailsid的{​​{1}}

ContentPane

上面的代码在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')); }); 中创建了dijit.Editor,但没有用ContentPane变量中存储的值填充它(我已经记录并提醒变量,它确实包含期望值)。

但是,如果我用question这样的文字字符串替换变量,或者像My String那样用日语替换它,那就可以了。

如果我将反乱者替换为:var question = grid.getItem(e.rowIndex).question;

,它甚至可以正常工作

当有var question = '反乱者';变量通过question分配给它的值时,是否有人知道为什么它不起作用?

对于Dojo Toolkit,我仍然是初学者,所以我确信它一定是显而易见的。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我现在找到了问题的答案。

事实证明我只需要改变:

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

为:

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