AJax技术

让SortTable和Asp.net Ajax和睦相处

字号+ 作者:H5之家 来源:H5之家 2017-02-20 14:00 我要评论( )

相信很多人都可能用过SortTable这个对Table元素进行排序的JS类库。 SortTable只需要设置Table的class就可以实现简单的应用。 可是如果在引用了SortTable同时用到

相信很多人都可能用过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实现有冲突。

当然,要让Ajax.net Ajax里面的forEach失效可不是什么容易的事情。只能让SortTable里面的forEach失效了。通过多SortTable里面的 forEach进行分析,最终舍弃了SortTable里面的forEach实现并且将实现代码去除,然后将forEach改成了for实现。终于……和睦相处了。

当然还可以有更好的改法,就是将forEach的方法改名,但是发现SortTable引用的forEach也就那么一点,于是用for了。

有两处需要修改:

第一处:

//原始代码

// Array.forEach(document.getElementsByTagName('table'), 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','');

}

};

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • ajax偶尔会报Error:指定资源下载失败?

    ajax偶尔会报Error:指定资源下载失败?

    2017-02-21 15:03

  • AJAX表单用POST方式提交Checkbox复选框

    AJAX表单用POST方式提交Checkbox复选框

    2017-02-20 09:01

  • jQuery $.ajax .abort() 大猫 (Madao)

    jQuery $.ajax .abort() 大猫 (Madao)

    2017-02-20 09:00

  • AJAX+jsp无刷新验证码实例

    AJAX+jsp无刷新验证码实例

    2017-02-20 08:06

网友点评