我很新的jQuery和JavaScript和我试图做到以下几点:jQuery的:从切换输入数据,文本和背部
我在一个表中有一个文本字段。我希望能够将其更改为输入字段,并且当用户单击某个按钮时,将其保存在数据库中(通过使用Ajax调用)并再次将其更改回文本。
我已经能够做到这一点,但奇怪的是,它只保存一次,保存后,你不能再次编辑相同的领域,除非我刷新页面。
的HTML是:
<table class="table table-bordered">
<tr>
<td>My data field :</td>
<td id="MyDataField">123 <i class="fa fa-pencil-square-o fa-fw" id="editMyDataField" style='float: right' /></td>
</tr>
</table>
的JavaScript是:
$('#editMyDataField').on('click', function() {
//First clikck, change the table cell into a input field, with the current text value and change icon
$('td#MyDataField').html($('<input />', {
'value': $('td#MyDataField').text()
}));
$('td#MyDataField').append('<i class="fa fa-check" id="editMyDataField" style="float: right"/>')
//Second click, do something with the vale (for instance Ajax call), change field back to text with the new value, and change icon
$('#editMyDataField').on('click', function() {
alert("Save value in db: " + $('td#MyDataField input').val())
$('td#MyDataField').html($('td#MyDataField input').val() + '<i class="fa fa-pencil-square-o fa-fw" id="editMyDataField" style="float: right"> ');
})
})
我创建了一个的jsfiddle来演示该问题:https://jsfiddle.net/2zkbvhoL/
我有一种预感,由repacing的图标,我不知何故“失去”与点击功能的连接,但我不知道该如何解决它。
关于失去按钮,我建议使用CSS隐藏它(我还在读...) –
@ErikL为你做任何回答的工作? – codisfy