jQuery触发器asp.net radiobutton点击更新面板内部

我有一些代码,用户选择通过jquery突出显示的’Package’。 我怎样才能使这个div中的asp radiobutton被点击并执行它的’OnCheckChanged’事件?

$(document).ready(function () { $(".package-container").click(function (event) { $(this).closest('.radio-group-row').find('.package-title').removeClass('highlight'); $(this).closest('.radio-group-row').find('.package-footer').removeClass('highlight'); $(this).find('input:radio').prop('checked', true).click(); $(this).find('.package-title').addClass('highlight'); $(this).find('.package-footer').addClass('highlight'); }); }); 

我已经使用onclick()方法尝试了这个代码,但是它不断地在网络选项卡中加载页面,chrome继续发布页面并最终在没有刷新的情况下延迟。

我的radiobutton问题是这样的:

 <EclipseUI:CustomRadioButton runat="server" ID="RadioButton_Item" ClientIDMode="AutoID" ToolTip='' GroupName="Package" OnCheckedChanged="RadioButton_Package_OnCheckedChanged" AutoPostBack="True"/> 

如何让jquery执行这个radiobutton的oncheckedchange事件?

编辑

 $(document).ready(function () { $(".package-container").click(function (event) { $(this).closest('.radio-group-row').find('.package-title').removeClass('highlight'); $(this).closest('.radio-group-row').find('.package-footer').removeClass('highlight'); $(this).find('input:radio').prop('checked', true).click(); $(this).find('.package-title').addClass('highlight'); $(this).find('.package-footer').addClass('highlight'); }); }); var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function (event) { var currPackage = $("#HF_Package").val(); $("#" + currPackage).closest('.radio-group-row').find('.package-title').removeClass('highlight'); $("#" + currPackage).closest('.radio-group-row').find('.package-footer').removeClass('highlight'); $("#" + currPackage).find('input:radio').prop('checked', true); $("#" + currPackage).find('.package-title').addClass('highlight'); $("#" + currPackage).find('.package-footer').addClass('highlight'); }); 

我的完整jquery代码看起来像这样。 后一部分用于回发以确保突出显示所选包,我从隐藏字段中获取此值并找到该值的div,即包。

在更新面板中,您的DOM元素将替换为从异步回发返回的内容,以便重置事件绑定。

你需要在2个事件上附加事件处理程序:

 (function($){ var bindEvents = function(){ // bind events here; }; // initial load $(document).ready( bindEvents); // every async load by update panel Sys.WebForms.PageRequestManager.getInstance().add_endRequest(bindEvents); })(jQuery); 

为了触发回发,尝试添加按钮(你可以用css隐藏它(显示:无)如果你不显示它)然后将该按钮添加为updatepanel async trigger并调用_dopostback并传递该按钮id

 __doPostBack('<%= TheButton.ClientID %>', '');