Help Thêm dấu chấm định dạng số phần triệu - nghìn... vào custom field "giá bán"

Alexandra

Corporal
Hi xen expert,
Em mới làm quen với xenforo và đang nghiên cứu cách trình bày 1 diễn đàn theo ý của mình. Hiện em gặp 1 rắc rối là khi tạo 1 custom field thread có tên là "giá bán", chọn Options for text fieldsnumber để user nhập số vào. Tuy nhiên ở thread view thì là 1 số không có phần định dạng triệu - nghìn - đơn vị... nên nhìn rất khó biết là số bao nhiêu.
Ví dụ số: 100000000 em muốn nó hiện ra là 100.000.000 thì làm thế nào các bác?
Thanks các bác!
 
XF2 có sẳn chức năng chuyển đổi, để mình viết riêng một bài hướng dẫn bạn cách chuyển số thường thành định dạng tiền hoặc xem bên trang của mình đỡ phải copy
 
Sửa lần cuối:
XF2 có sẳn chức năng chuyển đổi, để mình viết riêng một bài hướng dẫn bạn cách chuyển số thường thành định dạng tiền hoặc xem bên trang của mình đỡ phải copy
Cảm ơn bác, em đã tìm thấy bài của bác:
Cách thêm định dạng tiền tệ cho custom thread fields XenForo 2
Đúng cái em tìm luôn!
Bác cho em hỏi thêm là số nó hiện ra là 1,234,000.00 giờ em muốn bỏ 2 số 00 decimal thì làm thế nào ạ?
 
Bạn biết về regex thì dễ hơn nhiều k phải sửa gì cả. có thể code bạn gọi định dạng tiền tệ vào fields nên nó mới hiện kiểu vậy. Bạn có thể thử tích vào loại bỏ dấu thập phân trong thread fields hoặc vào thay đổi định dạng tiền tệ trong ngôn ngữ
 
Bạn biết về regex thì dễ hơn nhiều k phải sửa gì cả. có thể code bạn gọi định dạng tiền tệ vào fields nên nó mới hiện kiểu vậy. Bạn có thể thử tích vào loại bỏ dấu thập phân trong thread fields hoặc vào thay đổi định dạng tiền tệ trong ngôn ngữ
Trong thread field không có dấu tích nào để loại bỏ dấu thập phân bác ạ. Định dạng tiền tệ nó mặc định 2 số "0" sau dấu phẩy cho tất cả các options nên em cũng không biết phải thay đổi thế nào.
IMG_20200522_213948.jpg
 
Thấy bạn đã làm được TỰ ĐỘNG THÊM DẤU PHẨY VÀO SỐ TIỀN KHI KHÁCH NHẬP. Có thể share mình không?
Cảm ơn bạn nhiều
Cái này em dùng JavaScript.
Thêm 1 trường copyPrice (field) để copy giá trị này từ trường price, đồng thời tự động thêm dấu phẩy vào.
Code đây bác:
$("#copyPrice").keyup(function(event) {
$(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
;
});
});
 
Cái này em dùng JavaScript.
Thêm 1 trường copyPrice (field) để copy giá trị này từ trường price, đồng thời tự động thêm dấu phẩy vào.
Code đây bác:
$("#copyPrice").keyup(function(event) {
$(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
;
});
});
Thật cảm ơn tấm lòng của bác.
Có thể hướng dẫn e rõ hơn được không.
Tại e không hiểu cách làm ra sao...
 
Ví dụ ID của field là price nhé!
Bạn có thể cho nó hiện giá bằng code
Mã:
{$thread.custom_fields.price|number(0)}
cảm ơn bạn. Vấn đề này chủ thớt tìm được cách fix như bạn nói rồi.
Có 1 chuyện nữa là: khi người ta nhập 10000000 trong chổ nhập tiền. Thì nó tự thành 1,000,000 luôn ( lúc đang nhập - chưa đăng lên. Vì khi nhập xong, đăng lên, chủ thớt cũng fix được rồi).
Nhờ cao thủ! Cảm ơn
 
Cái này em dùng JavaScript.
Thêm 1 trường copyPrice (field) để copy giá trị này từ trường price, đồng thời tự động thêm dấu phẩy vào.
Code đây bác:
$("#copyPrice").keyup(function(event) {
$(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
;
});
});
Chỉ thêm giúp mình các làm với bạn.
Mình thêm java này nàu page_... nhưng không hoạt động
 
Cái này em dùng JavaScript.
Thêm 1 trường copyPrice (field) để copy giá trị này từ trường price, đồng thời tự động thêm dấu phẩy vào.
Code đây bác:
$("#copyPrice").keyup(function(event) {
$(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
;
});
});
Giúp rồi thì giúp cho đến nơi luôn đi??????
 
Back
Top