2012-05-22 2 views
3

Есть ли способ поймать событие, если значение внутри виджета dijit.form.NumberSpinner увеличивается или уменьшается?Приращение/уменьшение событий для dijit.form.NumberSpinner

То, что я намерен делать это всякий раз, когда значение опускается ниже 0 набора текста внутри NumberSpinner виджета, как «Никогда» и когда приросты использования.Она от «Никогда» следует снова установить на 0.

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

Вот Рабочий пример

http://jsfiddle.net/cswing/zDVep/

+0

Большое спасибо. Он отлично работал. Демонстрация на jsfiddle была очень полезной. – TechnoCrat

 Смежные вопросы

  • Нет связанных вопросов^_^