我很新的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