我很新的Dojo和我被困在这里的一个问题道场的foreach功能
我有一个Zend道场形式,其中我需要四个要素的总和值设置为另一种元素。我已经分配类(得分),这四个要素
".score" : {
"found" : function (ele) {
var widgetId = ele.getAttribute('widgetid');
dojo.connect(dijit.byId(widgetId),'onBlur', function(){
var sum = 0;
dojo.query('.score')
.forEach(function(ele){
var widgetId = ele.getAttribute('widgetid');
sum += parseInt(dijit.byId(widgetId).get('value'));
});
//***cannot get the value of sum here
dijit.byId('score_total').set('value', sum);
});
}
}
至于评论,我无法获得的foreach之外的值的总和。有没有什么办法可以让这个值离开循环?我做错了什么?
我不认为.forEach或.query是异步... – jvenema 2012-03-12 15:09:52
对不起,如果我错了,但我无法得到的价值(我可能有不良的来源)有什么我做错了? – 2012-03-12 15:18:32
看来我在代码中犯了一个错误,因为我对jscript很陌生,无法调试。事实上,foreach并不是异步的,只是计算parseInt(dijit.byId(widgetId).get('value'))'不是一个数字NaN,因此我无法填充表单元素,我只是简单地添加if条件并且它工作 if(parseInt(dijit.byId(widgetId).get('value'))){ sum = sum + parseInt(dijit.byId(widgetId).get('value')) ; } 对不起但感谢的麻烦 – 2012-03-12 16:02:10