Javascript 如何检测ASP.NET AJAX控件内部元素的更改?

Javascript 如何检测ASP.NET AJAX控件内部元素的更改?,javascript,jquery,asp.net,asp.net-ajax,Javascript,Jquery,Asp.net,Asp.net Ajax,在自定义ASP.NET AJAX控件中,我试图获取表示容器的元素的所有内部输入,并检测它们的更改 以下仅适用于IE 9和FF: if (this.get_watchChanges()) { $(this.get_element()).find(":input").change(function() { //mark dirty }); } 寻找文本和复选框类型的输入元素对我来说根本不起作用 跨浏览器检测父元素内部元素更改的好方法是什么?我意识到这很旧,只是偶然

在自定义ASP.NET AJAX控件中,我试图获取表示容器的元素的所有内部输入,并检测它们的更改

以下仅适用于IE 9和FF:

if (this.get_watchChanges()) {
    $(this.get_element()).find(":input").change(function() {
         //mark dirty
    });
}
寻找文本和复选框类型的输入元素对我来说根本不起作用


跨浏览器检测父元素内部元素更改的好方法是什么?

我意识到这很旧,只是偶然发现了它,并认为我应该为下一个家伙做点什么。你喜欢这个工作吗

<script type="text/javascript">
   var isDirty = false;
   $(document).ready(function() {
      isDirty = false;
      $("input, input[@type=checkbox]").change(function() {
         isDirty = true;
      });
   });
</script>

var isDirty=假;
$(文档).ready(函数(){
isDirty=false;
$(“输入,输入[@type=checkbox]”)。更改(函数(){
isDirty=true;
});
});

我意识到这已经很老了,只是无意中发现了它,以为我会为下一个家伙做点什么。你喜欢这个工作吗

<script type="text/javascript">
   var isDirty = false;
   $(document).ready(function() {
      isDirty = false;
      $("input, input[@type=checkbox]").change(function() {
         isDirty = true;
      });
   });
</script>

var isDirty=假;
$(文档).ready(函数(){
isDirty=false;
$(“输入,输入[@type=checkbox]”)。更改(函数(){
isDirty=true;
});
});

我最终添加了一些针对各种类型控件的东西(因为我使用的是Telerik)。我无法发布结果,但我最终做了如下工作:

$(".RadDatePicker").each(function() { /* attach to date change event */ });

诸如此类(通过CSS类针对每个控件)。复杂性来自ASP.NET AJAX框架和JavaScript API的工作方式。

我最终添加了一些针对各种类型控件的内容(因为我使用Telerik)。我无法发布结果,但我最终做了如下操作:

$(".RadDatePicker").each(function() { /* attach to date change event */ });

对于每个控件,依此类推(以CSS类为目标。复杂性来自ASP.NET AJAX框架和JavaScript API的工作方式。

可能是这样,但我遇到的是我在使用Telerik控件,其中一些控件让我感到厌烦。我最终选择了每个控件作为目标。其中一些原因是,例如,在日期选择器控件中,一个按钮触发日历并更改相关的文本框,而该文本框不会触发更改事件,因此我必须非常具体地处理更改。在大多数情况下,您所拥有的可能就足够了。可能够了,但我遇到的是我在使用Telerik控件,以及一些se控件把我甩了。我最终选择了每个控件作为特定的目标。其中一些原因太过复杂,例如,在日期选择器控件中,一个按钮触发日历并更改关联的文本框,而该文本框不会触发更改事件,因此我必须非常具体地处理更改。在大多数情况下s、 你所拥有的可能足够了。