ページを開いた後にすべてのテキストボックス、ドロップダウン、またはその他の要素のデータが変更されたかどうかを確認する方法 (javascript または jquery で確認したい)? ありがとう!
3 に答える
6
$("input,textarea,select").on("change",function(){
//do things
});
于 2012-05-16T06:17:41.807 に答える
1
ミューテーション イベントを確認して
ください http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mutationevents
IsDirty()
関数
を定義し
、変更イベント ハンドラーをページ内の優先要素にアタッチします。
(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
于 2012-05-16T06:40:42.420 に答える
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;
}
});
}
于 2012-05-16T06:30:07.640 に答える