input 입력시 배수이면 입력가능하고 아니면 alert창 띄워주는 제이쿼리가 잇을까요?
본문
제목 그대로 input에 수량을 직접입력하는데 배수인지 아닌지 판별가능한 제이쿼리가 있을까요?
ex) 12배수로만 수량이 입력가능하게 12개 단위 (12개, 24개 ...)
답을 알고 계신 분 답변 부탁드리겠습니다. 감사합니다.
답변 2
간단히 만들어봤는데용 이게 맞는지 모르겠네요
$(function () {
let input_timer;
$("input[name='inpu_text']").on("input", function () {
let in_value = parseInt($(this).val());
if (input_timer) {
clearTimeout(input_timer);
}
// 키보드 입력 받는 텀 주기위해 타임아웃 설정 입력값 없을시 0.5초 이후 실행
input_timer = setTimeout(function () {
if (in_value > 0) {
if (in_value % 12 !== 0) {
alert("배수 단위로 입력해주세요. Ex) 12, 24, 36...");
return false;
}
}
}, 500);
});
});
제이쿼리 아니어서 죄송요.
이런 건 제이쿼리건 바닐라건 input 하나 가지고만 해결하기는 쉽지 않습니다.
onkeyup 등으로 판명을 해도 12를 입력하려면 최초의 1이 12의 배수가 아니라서
1을 입력하는 순간 바로 튕겨내기 때문에 상당히 로직이 어렵습니다.
그래서 일반버튼을 같이 연동하셔야 해요.
<input id=my name=my>
<button type=button onclick=yes12()>클릭</button>
<script>
function yes12() {
if (my.value == 0 || my.value % 12 != 0) {
alert("12의 배수만 가능");
my.value = "";
}
}
</script>
답변을 작성하시기 전에 로그인 해주세요.