这种需求似乎觉得不合理,因为数据太多,从人或者机器上拉下来比较痛苦。因为需求没有出路,只能按需求经营。我在网上找到很多相关的控件,都觉得有点庞大,占用了很多资源。我不能花半天时间自己创建一个半成品自定义控件。拿出来分享。有高手看到请多指教。需求:加载数据的AJAX滚动条下拉列表控件名称:Webcombo技术:ASP。NET(C#),jQuery,ASP.NET通用处理文件(。ashx)下拉列表实现:用DIV模拟下拉列表,输入和图片模拟下拉列表。最终结果如下。
首先,分析jQuery端的插件编写。AJAX是用jQuery Ajax加载的。复制的代码如下: $。Ajax({ type : options . getmethod,url3360options.jsonurl,data:params,success : function(data){ if(IsCroll)$)。CreateListItem(显示框、数据、选项);else $。CreateBox(showbox,数据,选项);},complete:function(){ },error : function(e){ $(options . LoadBox)。css('背景图像','无');$(options.loadBox)。追加(' spandata connect错误!'e '/span ');}而滚动条加载数据是通过下拉DIV的onscroll事件完成的。具体核心代码如下:复制代码如下: $ (showbox)。scroll (function () {if (options。total==$ (this)。儿童(' ul ')。儿童(' li ')。长度)返回;var scrolltop=$(showbox)。attr(' scrollTop ');var scrollheight=$(showbox)。attr(' scroll height ');var windowheight=$(showbox)。attr(' client height ');var scrolloffset=20$(options.loadBox)。css('top ',scroll top);if(scroll top=(scroll height-(window height scrolloffset))!loading){ loading=true;$(options.loadBox)。show();options.total=$(this)。儿童(' ul ')。儿童(' li ')。长度;$.WebComboGetData(showbox,选项,true);} });插件的完整代码可以在源文件中找到,文件名为simulateddl.js其实滚动条滚动加载数据的jQuery插件写完就已经可以实现这个功能了,但是因为项目中使用的地方很多,所以打包到了ASP.NET自定义控件中。半成品被这种自定义控制定制的原因有些不近人情,专家也看到并指出。具体代码可以下载查看。我不是控制生产的高手,不会搬出去出丑。有问题和建议的朋友可以提出来讨论。Asp.net jquery滚动条滚动加载数据控件源代码下载。