快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

荣耀国际app下载:让SortTable和Asp.net Ajax和睦相处



信托很多人都可能用过SortTable这个对Table元素进行排序的JS类库。

SortTable只必要设置Table的class就可以实现简单的利用。

可是假如在引用了SortTable同时用到了Asp.net Ajax.呵呵,这下绝对热闹。似乎敌人一样。

差错提示:

Sys.ArgumentTypeException: Object of type ‘Object’ cannot be converted to type ‘Array’

颠末几个小时的努力,经由过程FireFox+FireBug的合力赞助,终于找到要害。主如果SortTable里面的forEach实现和Asp.net Ajax的forEach实现有冲突。

当然,要让Aj荣耀国际app下载ax.net Ajax里面的forEach掉效可不是什么轻易的工作。只能让SortTable里面的forEach掉效了。经由过程多S荣耀国际app下载ortTable里面的 forEach进行阐发,终极舍弃了SortTable里面的forEach实现并且将实今世码去除,然后将forEach改成了for实现。终于…&hel荣耀国际app下载lip;和蔼相处了。

当然还可以有更好的改法,便是将forEach的措施改名,然则发明SortTable引用的forEac荣耀国际app下载h也就那么一点,于是用for了。

有两处必要改动:

第一处:

//原始代码

// Array.forEach(document.getElementsByTagName('table'荣耀国际app下载;), function(table) {

// if (table.className.search(/bsortableb/) != -1) {

// sorttable.makeSortable(table);

// }

// });

// alert(document.getElementsByTagName('table').length);

// //改动代码

for(i=0; i

{

// alert(document.getElementsByTagName('table').length);

table=document.getElementsByTagName('table')[i];

if (table.className.search(/bsortableb/) != -1)

{

sorttable.makeSortable(table);

}

};

第二处:

//原始代码

//forEach(theadrow.childNodes, function(cell) {

// if (cell.nodeType == 1) {

// cell.className = cell.className.replace('sorttable_sorted_reverse','');

// cell.className = cell.className.replace('sorttable_sorted','');

// }

// });

//改动代码

for(i=0; i

{

var cell=theadrow.childNodes[i];

if (cell.nodeType == 1) { // an element

cell.className = cell.className.replace('sorttable_sorted_reverse','');

cell.className = cell.className.replace('sorttable_sorted','');

}

};

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: