2016-05-23 6 views
-2

Как сделать все строки td из текста появляющимися текстовыми полями при нажатии кнопки для редактирования данных в db. Пример: Before edit is clickedРедактируемые данные при нажатии кнопки

After edit is clicked

+1

показать нам свою попытку первым. Что вы пытались достичь? – RJParikh

ответ

0

Добавьте класс к столу. Когда вы нажимаете на строку, повторяйте каждую ячейку в этой строке.

Если нет input elemenet, тогда получите содержимое ячейки, очистите содержимое и добавьте элемент input с текстом.

Работает jsFiddle.

Предупреждение: вы должны обрабатывать имя входных значений, и вы должны заботиться о тэгах html в значении ячеек, если есть не только чистые тексты.

HTML

<table class="editable" style="border: 1px solid #000; border-collapse: collapse"> 
    <tr> 
     <td style="border: 1px solid #000; padding: 10px;">This is a text</td> 
     <td style="border: 1px solid #000; padding: 10px;">Another text</td> 
    </tr> 
</table> 

JQuery

$('table.editable').on('click', 'tr', function() { 
    $(this).find('td').each(function() { 
     if ($(this).find('input').length < 1) { 
     let html = $(this).html(); 
       $(this).empty(); 
     $(this).append('<input name="value[]" value="' + html + '" />'); 
     } 
    }); 
}); 
Смежные вопросы