【发布时间】:2012-05-22 13:15:04
【问题描述】:
如果 dijit.form.NumberSpinner 小部件中的值增加或减少,有什么方法可以捕获事件?
我打算做的是,每当值低于 0 时,将 NumberSpinner 小部件内的文本设置为“从不”,当用户将其从“从不”递增时,它应该再次设置为 0。
【问题讨论】:
-
使用widget的onChange事件怎么样?
标签: dojo dijit.form
如果 dijit.form.NumberSpinner 小部件中的值增加或减少,有什么方法可以捕获事件?
我打算做的是,每当值低于 0 时,将 NumberSpinner 小部件内的文本设置为“从不”,当用户将其从“从不”递增时,它应该再次设置为 0。
【问题讨论】:
标签: dojo dijit.form
dojo.declare("MySpinner", [Spinner], {
zeroValue: 'Never',
adjust: function(/*Object*/ val, /*Number*/ delta){
arguments[0] = val && val > 0 ? val : 0;
return this.inherited(arguments);
},
_getValueAttr: function() {
var v = this.inherited(arguments);
return (!v || v <= 0) ? 0 : v;
},
format: function(/*Number*/ value, /*dojo.number.__FormatOptions*/ constraints){
var v = this.inherited(arguments);
if (v <= 0 || !v)
return this.zeroValue;
return v;
},
isValid: function(/*Boolean*/ isFocused){
var v = this.get('value');
if (!v) {
return true;
}
return this.inherited(arguments);
}
});
这是工作示例
【讨论】: