2009-01-20 38 views
14

Tôi có một bảng có các cột và hàng tùy ý. Thực tế này là không liên quan mặc dù thực sự, tất cả những gì tôi muốn làm là phát triển một hàm sẽ biến một hàng (hoặc nhiều hàng) thành một chuỗi các đầu vào văn bản chứa dữ liệu trong bảng (hoặc trống nếu không có dữ liệu trong ô).jQuery - Chỉnh sửa hàng trong bảng

Tôi không thể tìm thấy bất kỳ ví dụ nào về những người làm điều này một cách rõ ràng, vì vậy tôi tự hỏi những gì mọi người ở đây nghĩ là cách tốt nhất để tìm giải pháp.

Trả lời

30

lặp qua các tế bào bảng trong các hàng, và thay thế nội dung với đầu vào văn bản:

function editRow(row) { 
    $('td',row).each(function() { 
     $(this).html('<input type="text" value="' + $(this).html() + '" />'); 
    }); 
} 

Bạn cần phải vượt qua hàng liên quan/hàng vào chức năng rõ ràng.

+0

Điều gì sẽ xảy ra nếu nội dung ô có thực thể html? –

+0

Tôi trả lời nó theo cách đơn giản bạn mô tả nó. Tôi thường sử dụng đầu vào bị ẩn với dữ liệu ở dạng thô và tải lên đầu vào văn bản với dữ liệu đó. –

+0

@EranGalperin Bạn có biết làm thế nào người ta có thể lưu văn bản sau khi thực hiện ví dụ của bạn? Tôi nhận thấy rằng giá trị của đầu vào vẫn ở nguyên bản ngay cả sau khi nhập. – Matt

0

như Eran nói. Tuy nhiên,

tuy nhiên, bạn cũng có thể xem các thuộc tính như contenteditable và designMode mặc dù tôi không chắc chắn chúng được hỗ trợ như thế nào.

khi bạn đã thay thế nội dung bằng đầu vào văn bản, bạn có thể sử dụng plugin jquery toggleEdit để quản lý chuyển đổi giữa chế độ xem trước và chế độ chỉnh sửa.

Các vấn đề liên quan