Asked Nov 13th, 6:06 AM 163 0 1
  • 163 0 1
+1

[javascript] Tự động format number

Share
  • 163 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 ANSWERS


Answered Nov 14th, 11:21 AM
Accepted
+1
  1. Có 2 cách
$(".getvalue").each(function () {
  const self = $(this);
  self.text(self.prev().val());
});
Share
Avatar LongThanh @LongThanh.it
Nov 14th, 3:57 PM

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

+1
| Reply
Share
Avatar CongHD @conghdql4
Nov 15th, 3:03 AM

@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;
        }
+2
| Reply
Share
Avatar LongThanh @LongThanh.it
Nov 16th, 4:24 AM

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

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.