javascript - 如何在数字分页中选择脚?辐射网格

标签 javascript jquery .net footer radgrid

我目前有一个 js 函数,仅当网格上有更改时,才会将 onchange 绑定(bind)到 onbeforeunload 或确认框。

我正在尝试选择页脚分页 anchor ,以便它不会触发确认或 onbeforeunload。无论网格是否有变化,用户都应该选择数字分页。

anchor 上没有 ID 或类名,因此我无法访问它。

提前致谢。

RadGrid 属性:

             <telerik:RadGrid 
             runat="server" 
             ID="DataGridFooItems" 
             AllowSorting="true" 
             AutoGenerateColumns="false" 
             EnableViewState="True" 
             GridLines="Vertical" 
             AllowPaging="True" 
             PagerStyle-Mode="NumericPages">

             <MasterTableView 
             AllowPaging="true" 
             DataKeyNames="foopersonID,fooItemID" 
             AllowAutomaticDeletes="true" 
             CommandItemDisplay="None" 
             NoMasterRecordsText="" >

这是 .aspx 生成的内容:

    <TFOOT>
<TR class=rgPager>
<TD colSpan=20>
<TABLE style="WIDTH: 100%" border=0 cellSpacing=0>
<TBODY>
<TR>
<TD class="rgPagerCell NumericPages">
<DIV class="rgWrap rgNumPart">
<A class=rgCurrentPage onclick="returnfalse;"href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl02','')"><SPAN>1</SPAN></A><A 
href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl04','')"><SPAN>2</SPAN></A><A
href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl06','')"><SPAN>3</SPAN></A><A
href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl08','')"><SPAN>4</SPAN></A><A
href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl10','')"><SPAN>5</SPAN></A><A
href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl12','')"><SPAN>6</SPAN></A><A
href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl14','')"><SPAN>7</SPAN></A><A
href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl16','')"><SPAN>8</SPAN></A><A
href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl18','')"><SPAN>9</SPAN></A><A
href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl20','')"><SPAN>10</SPAN></A><A
href="javascript:__doPostBack('ctl00$ph$FOO$rgItems$ctl00$ctl03$ctl01$ctl22','')"><SPAN>...</SPAN></A> 
</DIV></TD></TR></TBODY></TABLE></TD></TR></TFOOT>

更新:回答!

找到了!对类似的 Telerik 解决方案进行一些研究和调整。

我写了这个:

  1. 我声明了一个选择类的变量。
  2. 然后我在对象中搜索所有 anchor 。
  3. 之后,如果它不在 anchor 上,我使用了一个循环 当前页面(不应有点击事件,因为用户正在 已经在页面上。)&& 如果 anchor 的 href 为 __doPostback。
  4. 然后我将属性 onclick 事件设置为确认。这一步 包装了 __doPostback。

来源:http://www.telerik.com/community/forums/aspnet-ajax/grid/radgrid-paging---pageindexchanged-event-issue.aspx

function preventPromptOnFooter() {

            var pagerCell = $('[class="rgPagerCell NumericPages"]')
            var anchors = $(pagerCell).find('a');
            for (var i = 0; i < anchors.length; i++) {
                if (anchors[i].className != "rgCurrentPage" && anchors[i].href.indexOf("javascript:__doPostBack") > -1) {
                    var clickScript = anchors[i].attributes["onclick"].value;
                    anchors[i].onclick = disableOnbeforeUnloadForFooter;
                }
            }



            function disableOnbeforeUnloadForFooter() {
                window.onbeforeunload = null;
            }
        }

最佳答案

你可以尝试:

var pageLinks = document.querySelectorAll(".rgWrap.rgNumPart a");

适用于 Chrome、Firefox 3.5+、ie8+、Opera 10 和 Safari 3.2+。如果您必须支持较旧的浏览器,您可以尝试组合使用类名获取父级 div,然后使用 getElementsByTagName('A')。或者使用像 jQuery 这样的库跨浏览器实现高级 CSS 选择器。

关于javascript - 如何在数字分页中选择脚?辐射网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14267623/

相关文章:

javascript - 使用 jQuery 获取使用 vue2 创建的元素

Javascript 在旋转木马上移除和添加缓慢过渡的类

javascript - 来自 servlet 的警报返回空白页

javascript - 仅在一个点拆分字符串

.net - 是否可以将 ServiceStack.Text.JsConfig 设置范围限制为您的库?

c# - 类型 'System.IDisposable' 在未引用的程序集中定义

c# - 如何在 Main() 方法之前在 C# 中运行静态初始化方法?

javascript - Freshdesk API CORS 问题

javascript - 如何使用 JavaScript 将文件上传路径附加到表单?

javascript - 选择 div 的第一张图像作为数组