This example describes a table that the jquery implementation can be edited directly. Share to everyone for your reference. The specific analysis is as follows:
Function:
Create a table that allows you to modify the cell text directly after the user clicks a cell.
In the editing state, the user can press ENTER to confirm the change, press Esc key to undo the change.
The effect of the following figure:
Ideas:
When the user clicks a cell, immediately inserts a text box into the cell then cell, setting its width and height to the value of the cell phase. After the user confirms the input, empty all the HTML code in the cell, and then set the content to the text that the user just entered.
HTML code:
<table align= "center" >
<tr>
<td> School Number </td>
<td> name </td>
</tr >
<tr>
<td>001</td>
<td>dog</td>
</tr>
<tr >
<td>002</td>
<td>cat</td>
</tr>
<tr>
<td >003</td>
<td>pig</td>
</tr>
JavaScript code:
$ (function () {
$ ("TD"). Click (The function (event) {
//td already has input in it, you do not need to respond to the hit event
if ($ (this). Children ("input" ). length > 0) return
false;
var tdobj = $ (this);
var pretext = tdobj.html ();
Get current text content
var inputobj = $ ("<input type= ' text '/>");
Create a text box element
tdobj.html (""); Empty all elements in TD
Inputobj
. Width (tdobj.width ())
//Set the width of the text box the same as TD
. Height (tdobj.height ())
. CSS ({border: "0px", FontSize: "17px", Font: "Arial"})
. val (Pretext)
. Appendto (tdobj)
// Inserts the created text box at the end of the Tdobj child node
. Trigger ("focus")
//Fire event with trigger method
. Trigger ("select");
Inputobj.keyup (the function (event) {
if (= = = Event.which)
/user presses ENTER
{
var text = $ (this). Val ();
tdobj.html (text);
else if (= = = Event.which)
//esc key
{
tdobj.html (pretext);
}
});
The Click event
inputobj.click (function () {return
false;
})
is no longer processed after it has entered the edit State;
I hope this article will help you with your jquery programming.