• [转]jquery 点击表格变为input可以修改无刷新更新数据


    原文地址:http://www.freejs.net/article_biaodan_43.html

    之前已经发了2篇类似的文章点击变td为input更新》jquery表格可编辑修改表格里面的值,点击td变input无刷新更新表格》

    这篇功能是一样的,不过实用性可能比不上前面的文章

    jquery 点击表格变为input可以修改无刷新更新数据
    PHP Code
    1. <table>  
    2. <Tr><Td colspan="2">如果本例看不到数据请先添加一条记录,点击<a href="?action=add">这里可以添加</a></Td></Tr>  
    3. <?php  
    4. $sql="select * from `add_delete_record` where id>0";  
    5. $rs=mysql_query($sql);  
    6. if ($row = mysql_fetch_array($rs))  
    7. {  
    8.     do {  
    9. ?>  
    10.   
    11. <Tr bgcolor="#eeeeee">  
    12. <Td><?php echo $row['id']?></Td>  
    13. <Td class="bigclassname" ><span title="点击修改"><?php echo $row['text']?></span></Td>  
    14. </Tr>  
    15. <?php   
    16.     }  
    17.       
    18.     while ($row = mysql_fetch_array($rs));  
    19. }?>  
    20. </table>  
    JavaScript Code
    1. <script>  
    2. /**//*  
    3. * 说明:用Jquery的方法,无刷新页面,编辑表格  
    4. */   
    5.   
    6. $(function() {   
    7. //给页面中有bigclassname类的标签上加上click函数   
    8. $(".bigclassname").click(function() {   
    9.   
    10. var objTD = $(this);   
    11.   
    12. //先将老的类别名称保存起来,并用trim方法去掉左右多余的空格   
    13. var oldText = $.trim(objTD.text());   
    14.   
    15. //构造一个input的标签对象(作用是为了让这个input失效,不然点击多次后,文字会消失)   
    16. var input = $("<input type='text' value='" + oldText + "' />");   
    17.   
    18. //当前td的内容变为文本框,并且把老类别名放进去   
    19. objTD.html(input);   
    20.   
    21. //设置文本框的点击事件失效   
    22. input.click(function() {   
    23. return false;   
    24. });   
    25.   
    26. //设置文本框样式,让界面显示的人性化点   
    27. input.css("font-size", "16px");   
    28. input.css("text-align", "center");   
    29. input.css("background-color", "#ffffff");   
    30. input.width("120px");   
    31.   
    32. //自动选中文本框中的文字   
    33. input.select();   
    34.   
    35. //文本框失去焦点时重新变为文本   
    36. input.blur(function() {   
    37.   
    38. //获得新输入的类别名   
    39. var newText = $(this).val();   
    40.   
    41. //用新的类别名文字替换之前变过来的输入框状态   
    42. objTD.html(newText);   
    43.   
    44. //获取该类别名所对应的ID(bigclassid)   
    45. var bigclassid = objTD.prev().text();   
    46.   
    47. //将新的类别名进行转码,不然界面以及数据库显示的都是"???"这样的乱码   
    48. newText = escape(newText);   
    49.   
    50. //获取要传到"一般处理文件"(update_bigclassname_2.php)中的URL   
    51. var url = "update.php?id=" + bigclassid + "&bigclassname=" + newText;   
    52.   
    53. //AJAX异步更改数据库,data为成功后的回调返回值,用于显示提示信息   
    54. $.get(url, function(data) {});   
    55.   
    56. });   
    57. });   
    58. });   
    59. </script>  
     
  • 相关阅读:
    34 bootstrap引入
    32 jQuery——自制飞粒特效
    32 EasyUI——初识、导入至项目
    前端学习相关
    31 jQuery——元素进出场动画效果
    30 jQuery——操作事件
    30 jQuery——操作文档结构
    29 jQuery——操作元素样式
    28 jQuery——操作元素内容
    27 jquery——操作元素属性
  • 原文地址:https://www.cnblogs.com/dirgo/p/5075254.html
Copyright © 2020-2023  润新知