我正在使用Dojo Toolkit构建SRS,以帮助我学习Dojo Toolkit和日语。
对于那些不了解SRS的人来说,基本上是闪存卡系统。
所以,我有一个侧栏,我可以选择一副牌来查看,当我点击列表中的牌组时,它会在TabContainer
中打开一个包含两个ContentPane
的新标签页}第
一个ContentPane
包含DataGrid
,其中ItemFileWriteStore
目前使用url
到json
个文件。
json
文件包含DataGrid
的项目,每个项目都包含id
,question
和answer
。
id
目前仅为integer
值,question
和answer
均包含日语字符串。
我们的想法是,当点击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
:
(grid
是DataGrid
对象,card_details
是id
的{{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,我仍然是初学者,所以我确信它一定是显而易见的。
任何帮助将不胜感激!
答案 0 :(得分:0)
我现在找到了问题的答案。
事实证明我只需要改变:
var question = grid.getItem(e.rowIndex).question;
为:
var question = grid.store.getValue(grid.getItem(e.rowIndex), 'question');