检查更改的文本

时间:2012-05-16 06:16:26

标签: javascript jquery .net

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

3 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分: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());
    });
});​


也许还有其他的选择可供选择,但是这可以用来演示:http://jsfiddle.net/6aVjg/4/

问候,
NJ

答案 2 :(得分: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;
            }
        });
    }