java项目 jquery如何判断哪个input框改过值,哪些没有改过

jquery如何判断哪个input框改过值,哪些没有改过,不然点击保存更新就要获取全部行的
全部字段值,一起保存,不管有没有改过,这样效率太低了,万一数据多了就效率低了
图片说明

码了下代码,你理解下思路就好,因为我是个新手

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
<script src="../../static/vendor/jQuery/jquery-3.1.1.min.js"></script>
<script>
    $(function(){
        $("input").change(function(){
            var a =$(this).attr('value');
            //console.log(a);
            if($(this).val()!=a){
                $(this).parent("div").find("span").html("已改变");
                $(this).attr('data','1');
            }
            else{
                $(this).parent("div").find("span").html("");
                $(this).removeAttr('data','1');
            }           
        })      
    })  
</script> 
<style type="text/css">
</style>
</head>
<body>
<div>第一个<input type="text" value="1"/><span></span></div>
<div>第二个<input type="text" value="2"/><span></span></div>
<div>第三个<input type="text" value="3"/><span></span></div>
</body>
</html>

笨方法:提交时与原数据对比,判断数据是否已经修改
再者:给input绑定onblur事件,当失去焦点时判断有没有修改过,可以写个统一的失去焦点方法

码了下代码,你理解下思路就好,因为我是个新手
<!DOCTYPE html>


$(function(){ $("input").change(function(){ var a =$(this).attr('value'); //console.log(a); if($(this).val()!=a){ $(this).parent("div").find("span").html("已改变"); $(this).attr('data','1'); } else{ $(this).parent("div").find("span").html(""); $(this).removeAttr('data','1'); } }) })


第一
第二
第三


个人想法:
加载, 刷新页面或者点击了保存按钮之后, 把表格的数据放到隐藏域.
点击保存按钮时, 遍历表格的数据与隐藏域的比较, 有改变的数据才提交后台更新保存.
隐藏域还可以拓展 [ 撤回修改 ] 功能.