Yêu cầu thg 11 13, 2021 6:06 SA 295 0 1
  • 295 0 1
+1

[javascript] Tự động format number

Chia sẻ
  • 295 0 1

Mình đang gặp thắc mắc mới chút jquery này mà chưa xử lý được, mong mn tư vấn.

Câu 1: Làm sao để tạo 1 input type number mà khi mình gõ 10000000 nó tự động thành 10 000 000 hoặc 10.000.000 nhỉ? Mình có thể xử lý bằng cách tạo thêm 1 thẻ div lấy giá trị của nó cho vào 1 thẻ span nào đó rồi. nhưng ko biết có cách nào hay hơn không? Mình đã làm được như này https://prnt.sc/1zdvy2m

Câu hỏi số 2: Mình có 1 list các thẻ input type number

<input type="number" name="one" value="60" > <span class="getvalue"></span>
<input type="number" name="two" value="70" > <span class="getvalue"></span>
<input type="number" name="three" value="80" > <span class="getvalue"></span>
<input type="number" name="four" value="90" > <span class="getvalue"></span>
<input type="number" name="five" value="600" > <span class="getvalue"></span>
.....

Làm sao khi vào trang các span tương ứng sẽ tự lấy được giá trị của input trước nó.

Thanks

1 CÂU TRẢ LỜI


Đã trả lời thg 11 14, 2021 11:21 SA
Đã được chấp nhận
+1
  1. Có 2 cách
$(".getvalue").each(function () {
  const self = $(this);
  self.text(self.prev().val());
});
Chia sẻ
Avatar LongThanh @LongThanh.it
thg 11 14, 2021 3:57 CH

cảm ơn bạn, mình cũng đã tìm ra được vài cách xử lý. https://jsfiddle.net/tinhtn/567cxgfr/ Thanks

Avatar CongHD @conghdql4
thg 11 15, 2021 3:03 SA

@LongThanh.it 2021-11-15 12_02_26-Window.png

code của bạn trên jsfiddle hoạt động không đúng nhé. Nó chỉ đúng với trường hợp số chữ số chia hết cho 3.

OKcase:802333=>802.333OK case : 802333 => 802.333

NGcase:5434453=>543.445.3NG case : 5434453 => 543.445.3

Bạn có thể tham khảo hàm phía dưới

        function numberWithCommas(x) {
            var val = x.replace(/\D/g, '');
            val = parseInt(val);
            let newVal = val.toLocaleString('de-DE');
            return newVal;
        }
Avatar LongThanh @LongThanh.it
thg 11 16, 2021 4:24 SA

@conghdql4 Mình ko để ý luôn,. cảm ơn bạn nhiều.

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí