你说什么都对

  • 首页
  • 技术
  • 工具分享
  1. 首页
  2. 技术
  3. JQuery
  4. 正文

jQuery实现表格双击修改可保存,取消放弃保存

2022年11月3日 149点热度 0人点赞 0条评论

实现表格双击可修改,修改后保存按钮提交,取消则不提交。

表格代码:

<table>
    <tr>
        <th>序号</th>
        <th>标题</th>
        <th>内容</th>
    </tr>
    <tr>
        <th>1</th>
        <td id='xx1'>你好</td>
        <td id='xx2'>你好</td>
    </tr>
    <tr>
        <th>2</th>
        <td id='xxx1'>试试</td>
        <td id='xxx2'>试试</td>
    </tr>
</table>

实现表格中td都可以修改(th不做修改), JS代码(这部分代码与table代码在同一个页面):

<script type="text/javascript" src="js/jquery-3.2.1.js"></script>
<script type="text/javascript">

    function refresh() {
        self.location.reload();
    }
    $(function(){
        $('table td.edit').dblclick(function(){
            if(!$(this).is('.input')){
                $(this).addClass('input').html('<form><input type="text" value="'+ $(this).text() +'" autofocus /><input type="submit" value="Save" /><input type="button" onclick="refresh()" value="Cancel"></form>').find('form').click().submit(function(){
                        var thisid = $(this).parent().siblings("th:eq(0)").text();
                        var thisvalue=$(this).find('input').val();
                        var thisclass = $(this).parent().attr("id");

                        $.ajax({
                            type: 'POST',
                            url: 'Update.php',
                            data: "thisid="+thisid+"&thisclass="+thisclass+"&thisvalue="+thisvalue
                        });
                    $(this).parent().removeClass('input').html($(this).find('input').val() || 0);
                });
            }
        }).hover(function(){
            $(this).addClass('hover');
        },function(){
            $(this).removeClass('hover');
        });
    });
</script>

传递这个表格的对应的第一个序号为thisid,新输入的内容为thisvalue,表格对应的属性id为thisclass,将这些参数传递到Update.php:

<?php
    define('DB_HOST', 'localhost');
    define('DB_USER', 'xxx');
    define('DB_PASS', 'xxx');
    define('DB_NAME', 'xxx');

    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASS,DB_NAME);

$id = trim($_REQUEST['thisid']);
$thisclass = trim($_REQUEST['thisclass']);
$thisvalue= trim($_REQUEST['thisvalue']);

if (substr_count($thisclass," ")>0){
    $thisclass=str_replace(" ","",$thisclass);
}
if (substr_count($thisclass,"input")>0){
    $thisclass=str_replace("input","",$thisclass);
}
$update_sql = "update Build_Data set $thisclass='$thisvalue' where Build_Id='$id'";
if (!mysqli_query($dbc,$update_sql)) {
    printf ("Error Message: %s\n", mysqli_error($dbc));
}
?>
标签: 暂无
最后更新:2022年11月3日

老虎猪

健康、快乐、品质生活

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

最近评论
最新 热点 随机
最新 热点 随机
Jenkins部署 在OneNote里使用markdown语法-OneMark 群晖使用花生壳搭建WordPress bootstrap table 图标显示解决 bootstrap div 居中显示 Django根据字段自动从dict中获取值
python版OpenCV常用api调用 在OneNote里使用markdown语法-OneMark jQuery实现表格双击修改可保存,取消放弃保存 使用python-opencv在图像中查找最亮点 bootstrap table 图标显示解决 JQueryMobile实现表格的条件筛选

COPYRIGHT © 2022 你说什么都对. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

浙公网安备 33022602000616号