Wednesday, 7 May 2014

Interpret Doublebox decimal point . or , in zk ?

$('.z-doublebox').each(function () {
   $(this).keypress(function(e){
       // '46' is the keyCode for '.'
       if(e.keyCode == '46' || e.charCode == '46'){
           // IE
           if(document.selection){
               // Determines the selected text. If no text selected,
               // the location of the cursor in the text is returned
               var range = document.selection.createRange();
               // Place the comma on the location of the selection,
               // and remove the data in the selection
               range.text = ',';
               // Chrome + FF
           }else if(this.selectionStart || this.selectionStart == '0'){
               // Determines the start and end of the selection.
               // If no text selected, they are the same and
               // the location of the cursor in the text is returned
               // Don't make it a jQuery obj, because selectionStart 
               // and selectionEnd isn't known.
               var start = this.selectionStart;
               var end = this.selectionEnd;
               // Place the comma on the location of the selection,
               // and remove the data in the selection
               $(this).val($(this).val().substring(0, start) + ','
                       + $(this).val().substring(end, $(this).val().length));
               // Set the cursor back at the correct location in 
               // the text
               this.selectionStart = start + 1;
               this.selectionEnd = start +1;
           }else{
               // if no selection could be determined, 
               // place the comma at the end.
               $(this).val($(this).val() + ',');             
           }
           return false;
       }
   });
 });
It replaces the '.' for a ',' when '.' key is pressed

No comments:

Post a Comment