Hỏi về xử lý stt danh sách và Object Javascript
Hiện em đang vướng vụ thêm dòng khi click + anh chị em ạ, các thứ khác thì ok rồi nhưng tới phần STT thì em không biết xử lý thế nào cho hay, hiện e đang cho + lên nên dù đã xóa các row củ đi thì số vẫn tăng thành ra số không theo thứ tự, có cách nào cập nhật lại cho chuyên nghiệp hơn không anh chị em ơi.
Để tránh tạo nhiều bài viết em sửa trong đây luôn.
hiện e đang dùng function này
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
nhưng vướng 1 lỗi là khi dữ liệu đầu tiên mà trống thì nó không lưu vào chỉ lưu vào từ lúc dữ liệu không trống thôi, mong anh em giúp
3 CÂU TRẢ LỜI
Anh có thể giúp em thêm phần push 1 null vào array không a? nếu hàng đầu có dữ liệu thì mới push được, còn hàng đầu cũng null thì mãng mất dữ liệu null ở đầu và các dữ liệu null nối tiếp phía sau, kết quả e muốn lấy hết từ đầu tới cuối dù có null ở dữ liệu đầu tiên ấy a
nếu được mong anh giúp đỡ câu hỏi 2 dùm e luôn nha
Bạn thử dùng cách này xem
- Khi tạo ra các dòng mới bạn không phân biệt bằng id tự tăng nữa mà tạo ra các mã unique có các dòng (cái này thì có thể dùng thư viện của js hoặc bạn có thể tự tạo một hàm riêng để tạo ra). khi đó số thứ tự bạn cần thì bạn dùng luôn (index + 1) của mảng đó để hiển thị
- hoặc bạn có thể dùng cách của @benkyou ở trên
nếu được mong anh giúp đỡ câu hỏi 2 dùm e luôn nha
Mình có cách xử lý thế này:
Khi danh sách của bạn đang trống, bạn hãy đặt biến số: biến previousIndex = 0; currentIndex = 1
Khi bắt đầu bấm + để tăng số dòng, bạn đặt giá trị STT của dòng bằng currentIndex += 1; Đồng thời tăng previousIndex lên 1
Khi bấm - dòng, bạn gán currentIndex = previousIndex; sau đó trừ previousIndex đi 1 đơn vị
Bằng cách này STT của bạn sẽ được tăng giảm luôn đúng
Chúc bạn thành công
với cách này thì khi mình xóa ở giữa nó lại sai bác ạ e dùng cách cập nhật lại mỗi lần click add hoặc remove luôn r bác
nếu được mong anh giúp đỡ câu hỏi 2 dùm e luôn nha