jQuery触发asp.net单选按钮点击更新面板内
jQuery trigger asp.net radiobutton click inside of update panel
我有一些代码,其中用户选择一个'包',这是通过jquery突出显示。我怎么能导致asp单选按钮在这个div被点击并执行其' 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中网络选项卡内的页面,不断发布页面,最终滞后而没有刷新。
我正在讨论的单选按钮是:
<EclipseUI:CustomRadioButton runat="server" ID="RadioButton_Item" ClientIDMode="AutoID" ToolTip='<%# Eval("SystemValue") %>' GroupName="Package" OnCheckedChanged="RadioButton_Package_OnCheckedChanged" AutoPostBack="True"/>
如何让jquery执行这个单选按钮的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元素被异步回发返回的内容所取代,所以事件绑定被重置。
你需要在两个事件上附加事件处理程序:
(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 (display:none)如果你不显示它),然后添加该按钮作为updatepanel异步触发器和调用_dopostback并传递按钮id
__doPostBack('<%= TheButton.ClientID %>', '');
相关文章:
- 如何在更新面板内部调用/触发javascript函数<触发器>标签
- AngularJS$apply有时不会;当在highchart中使用click事件时,t触发更新{{}}中html标记中
- 自动调整jQuery插件的大小,触发自动调整更新
- 模型更新时触发ng显示
- 当数据在另一个URL上更新时,AngularJS是否可以在一个URL上触发$watch
- 无法获取onchange以触发innerHTML更新
- 当我更新HTML时,Keydown事件停止触发
- extjs 存储更新未触发
- 剑道可观察在触发更改事件后不更新
- Angular 在触发更改时不更新 Ng 类
- 当挖空更新值时不会触发更改事件
- 使用 ajax 函数触发的 php 更新数据库
- Javascript函数在视频时间更新时未触发
- 在不触发状态更改的情况下更新 URL
- 角度函数在模型更新之前触发:邮政编码检查器
- 在Voodoo.js中,什么事件触发了模型的“更新”功能
- Watchify 更新事件永远不会在 Virtualbox 中触发
- SailsJS 在创建具有关联的对象时触发更新
- ngModel 不会在第一次触发视图更新
- 主干更新触发完成,但不会触发错误或成功