2012-05-16 27 views
2

如何检查所有文本框,下拉菜单或其他元素中的数据是否在打开页面后发生更改(想要使用javascript或jquery进行检查)? 谢谢!检查已更改的文本

+0

什么是你想实现! – 2012-05-16 06:17:17

+0

用户'change'事件。 http://api.jquery.com/change/ – Bongs

回答

6
$("input,textarea,select").on("change",function(){ 
    //do things 
}); 
+1

谢谢,我会试试! :) –

0
<%: Html.TextBoxFor(model => model.TripNumber, new { @tabindex = "1", maxlength = "20", onchange ="CheckDirty();" })%> 

    var isDirty = false; 

function CheckDirty() { 
     $('input[type=text],textarea,select,input[type=checkbox],input[type=radio]').change(function() { 
      if (!isDirty) { 
       isDirty = true; 
      } 
     }); 
    } 
+0

谢谢!我会试试看! –

1

检查突变事件
http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mutationevents


定义IsDirty()功能,
附上change事件处理的首选元素在页面

(function($){ 
    $.fn.OldHtml = ""; 
    $.fn.Attach= function() { 
    $.fn.OldHtml = this.html(); 
    }; 

    $.fn.IsDirty = function() { 
    return !($.fn.OldHtml == this.html()) 
    }; 
})(jQuery); 

$(document).ready(function(){ 
    $("#Div1").Attach();//init tracking 
    $("#Div2").Attach();//init tracking 

    $("#change").click(function(){ 
     $("#Div1").html("test");//make a change 
    }); 

    $("#check").click(function(){ 
     alert("Div1 Is Changed:"+$("#Div1").IsDirty()+"\nDiv2 Is Changed:"+$("#Div2").IsDirty()); 
    }); 
});​ 


也许还有其他的办法,但这个工程
DEMO:http://jsfiddle.net/6aVjg/4/

问候,
NJ

+0

谢谢!我会试试看! –

+0

我还有其他问题 - 我想为所有元素添加funIf CheckIfChanged(),这些元素在表格之外,我检查过,如何制作? 谢谢! –

+0

评论更新代码 –