views:

10404

answers:

1

Hi,

I have a table with arbitrary columns and rows. This fact is irrelevant though really, all I want to do is develop a function that will turn a row (or multiple rows) into a series of text inputs containing the data in the table (or empty if no data in cell).

I can't find any examples of people explicitly doing this, so I wondered what people here think is the best way to find a solution.

Thanks :)

+5  A: 

Iterate over the table cells in the rows, and replace the contents with text inputs:

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

You need to pass the relevant row/rows into the function obviously.

Eran Galperin
What happens if cell content has html entities?
Héctor Vergara R.
I answered it in the simplistic way you described it. I usually use a hidden input with the data in raw form, and load up the text input with that.
Eran Galperin