0

I am working on a requirement where I want to do some calculation on the numbers entered in the dxtextbox,

For example if I am entering:

123456789

then the calculation will be like

num1=1 *3;num2=2 *7;num3=3 ;num4=4 *3;num5=5 *7;num6=6;num7=7 *3;num8=8*7;num9=9;

sum=num1+num2+num3+num4+num5+num6+num7+num8+num9

if(sum != 0 && sum % 10 == 0){it will return true}else it should return false

I searched this in your documentation section but didn't got any thing.

Can you please help me to solve this requirement . I have attached a sample solution where you can see the kind of validation structure I trying to accomplish this task. Thank You

vishal
  • 55
  • 6

3 Answers3

0
$(document).ready(function()
{
    var enteredNumber = 123456789;
    var numTotal = 0;
    var multiplikator = Array(3,7,1);
    var multiplikatorCnt = 0;
    for(a=0;a < enteredNumber.toString().length; a++)
    {
        numTotal += parseInt((enteredNumber.toString())[a]) * multiplikator[multiplikatorCnt];
        multiplikatorCnt++;
        if(multiplikatorCnt > 2)
        {
            multiplikatorCnt = 0;
        }
    }
    if(numTotal != 0 && numTotal % 10 == 0)
    {
        return true
    }
    else
    { 
        return false
    }
});

Edit: forgot to return true or false.

dns_nx
  • 3,651
  • 4
  • 37
  • 66
0

Shorter would be:

$(document).ready(function()
{
    var enteredNumber = 123456789;
    var numTotal = 0;
    var multiplikator = Array(3,7,1);
    for(a=0;a < enteredNumber.toString().length; a++)
    {
        numTotal += parseInt((enteredNumber.toString())[a]) * multiplikator[a % multiplikator.length];
    }
    if(numTotal != 0 && numTotal % 10 == 0)
    {
        return true
    }
    else
    { 
        return false
    }
});
M. Schena
  • 2,039
  • 1
  • 21
  • 29
0

Thank You for your quick response,I am able to solve it by my self

here is the code what I am using

var valuenum = $("#txt_value").dxTextBox("instance");
    var checknumber = valuenum .option('value');
    var arr = checknumber.split('');
    var num1, num2, num3, num4;

    num1 = (arr[0]) * 3;
    num2 = (arr[1]) * 7;
    num3 = (arr[2]);
    num4 = (arr[3]) * 3;


    var totalval = parseInt(num1) + parseInt(num2) + parseInt(num3) + parseInt(num4) ;
    if (totalval != 0 && totalval % 10 == 0) {
        return true;
    }
vishal
  • 55
  • 6
  • Ok. Great. Just one comment: Your solution isn't flexible. If you have a number with more than 4 digits, your solution will not work. Or do you have a limitation on your input field to 4 digits? – dns_nx Jan 28 '16 at 10:33