jquery implements a table that can be edited directly _jquery

Source: Internet
Author: User

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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.