채택완료

숫자 배수 질문드립니다.

2022-09-27 (화) 13:54:25 2,173
Copy
<input name= "ordNum">입력숫자</input>

<input name = "perNum" value ="">배율숫자</input>


if (ordNum % perNum == 0) {
    console.log("오케");
} else {
    console.log("노노");
}

perNum에 배율숫자를 미리 입력해두고 (2,3,4,5.... 등등)


ordNum값이 perNum의 배수가 아닐때 perNum의 배수값으로 자동으로 변경시켜줄려고 합니다. 

perNum의 3일때

ordNum에 4나 5가 입력되면 6으로 변경
ordNum에 7나 8가 입력되면 9로 자동으로 변경시키고 싶은데 코드를 어떻게 짜야 하나요?

답변 2개

채택된 답변
+20 포인트
2022-09-27 (화) 14:21:42
Copy
var ordEl = $('input[name=ordNum]');
var perEl = $('input[name=perNum]');
function calcPer(n, p) {
    var a = n;
    var b = p;
    var count = 1;
    if (a % b != 0) {
        for (var i = 1; i <= count; i++) {
            count ++;
            if (a < b * i) {
                a = b * i;
                break;
            }
        }
    } 
    return a;
}
ordEl.on('change', function() {
  var _this = $(this);
  var num = _this.val();
  var per = perEl.val();
  var replaceNum = calcPer(num, per);
  _this.val(replaceNum);
})


1935176322_1664256096.4146.png
Copy
if (ordNum % perNum == 0) {
    console.log("오케");
} else {
    console.log("노노");
    perNum = ordNum * parseInt(perNum/ordNum) + ordNum;
}



//이렇게 구성하면 될 것 같습니다.

답변을 작성하려면 로그인이 필요합니다.