2012-05-22 2 views
3

dijit.form.NumberSpinner 위젯의 값이 증가하거나 감소하면 이벤트를 잡을 수있는 방법이 있습니까? 값이 "결코"과의 사용자 증가가가 다시 설정되어야한다 "절대로"때 여기에 0dijit.form.NumberSpinner의 증분/감소 이벤트

+0

위젯의 onChange 이벤트 사용 방법은 어떻습니까? –

답변

3
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); 
    } 
}); 

이의에로 NumberSpinner 위젯 내에서 0 세트 문안 아래 될 때마다

는 내가 의도 할 것은 작업 예제

+0

고마워. 그것은 완벽하게 작동했습니다. jsfiddle의 데모는 매우 유용했습니다. – TechnoCrat