AJAX动态无刷新绑定

项目中客户想要达到这样的效果,请教了同事之后作出的。虽然对于Ajax还不熟悉,暂时存放在这儿,以备学习Ajax后查看。原理慢慢搞清楚。

根据是否是KPI,动态绑定不同的数据源。在这里是有一个KPI的过滤。radiobutton用的是input type="radio" name="kpiAll" id="checkKPI" value="true" checked="checked" />KPI <input type="radio" name="kpiALL" id="checkKpiAll" value="false" />ALL. 绑定到弹出层中,也是用<input type="checkbox" name="case1"/>接收的,case1的checkbox的定义是在GetCase.aspx.cs后台动态生成的。效果图如下:

 

在KPI和ALL切换时候,只刷新对应的绑定Case部分,其他部分无刷新。不会影响页面的其他选择(或者说会保持其他条件选项)。

HTML Source

<html><head runat="server">    <title>BindData without Refresh</title>    <script src="Theme/JS/jquery.js" type="text/javascript"></script>

    <script src="Theme/JS/data.js" type="text/javascript"></script></head><body><form id="form1" runat="server" method="post"><div>    <asp:TextBox ID="txtCaseName" Width="500px" runat="server" Text="" ReadOnly="true"></asp:TextBox>    <div id="divBoxCase" class="divBoxCase" runat="server" style="position: absolute; background-color: #FFF; border: solid 1px #333; height: 300px; width: 540px; overflow: auto; left: 0px; top: 25px; z-index: 9999; display: none; margin-top: 7px; margin-left: 3px;">    </div>    <div style="position: absolute; top: 0px; left: 540px; margin-left: 5px;">          <input type="radio" name="kpiAll" id="checkKPI" value="true" checked="checked" />KPI          <input type="radio" name="kpiALL" id="checkKpiAll" value="false" />ALL     </div></div></form></body></html>

新建一个WebForm.aspx,命名GetCase.aspx. 在后台代码中绑定数据源。代码如下:
View Code

 1 protected void Page_Load(object sender, EventArgs e) 2 { 3       CaseBLL caseBLL = new CaseBLL(); 4       DataTable dtCase = new DataTable(); 5  6       string checkAll = string.Empty; 7       if (Request.QueryString["Flag"] != null) 8       { 9             checkAll = Request.QueryString["Flag"].ToString();10       }11 12       if (checkAll == "All")13       {14             dtCase = caseBLL.BindCaseByType(1);//ALL Case15 16       }17       else if (checkAll == "kpi")18       {19              dtCase = caseBLL.BindCaseByType(1, true);//KPI Case20       }21       else22       {23              dtCase = caseBLL.BindCaseByType(1, true);//KPI Case24       }25 26 27       StringBuilder sb = new StringBuilder();28       sb.Append("<input type='checkbox' name='All31' value='All' οnclick='selectAll31()'/>ALL<br />");29      for (int i = 0; i < dtCase.Rows.Count; i++)30      {31            sb.Append("<input type='checkbox' name='case1' value='" + dtCase.Rows[i]["CaseName"] + "'>" + dtCase.Rows[i]["CaseName"] + "<br />");32      }33 34      Response.Write(sb);35      Response.End();36 }

Javascript中,data.js引用Ajax:

View Code

$(function() {    $.ajax({        type:"POST",         url:"GetCase.aspx",        success:function(msg){            $("#divBoxCase").html(msg);        }    });

    $("#checkKpiAll").bind('click',function()    {if($("#checkKpiAll").attr("checked")==true)        {            $.ajax({            type: "POST",            url: "GetCase.aspx?Flag=All",            success: function(msg) {                $("#divBoxCase").html(msg);                }            }); 

        }

    });

    $("#checkKPI").bind('click',function()    {if($("#checkKPI").attr("checked")==true)        {             $.ajax({                 type: "POST",                 url: "GetCase.aspx?Flag=kpi",                 success: function(msg) {                     $("#divBoxCase").html(msg);                  }             }); 

        }

    });

    $("#divBoxCase").mouseleave(function() {

var selectRoleID = "";

var aa=document.getElementsByName('case1');        $("input[name='All31']").each(function() {if ($(this).attr('checked') == 'checked') {for(var i=0; i<aa.length; i++)                          {if (aa[i].type=='checkbox')                                {//aa[i].checked=event.srcElement.checked;                                   aa[i].checked='checked';                                }                           }                       }                 }         ); 

    $("input[name='case1']").each(function() {if ($(this).attr('checked') == true) {                  selectRoleID += $(this).val() + ",";               }          }    );

        $("#txtCaseName").val(selectRoleID);        $("#divBoxCase").hide(1000);

    });

});

//select all for case    function selectAll31(){ var aa = document.getElementsByName("case1");for (var i=0; i<aa.length; i++)        {if (aa[i].type=='checkbox')            {                aa[i].checked=event.srcElement.checked;            }        }        }

转载于:https://www.cnblogs.com/eva_2010/archive/2012/01/04/2311629.html

Ajax无刷新数据绑定相关推荐

  1. Ajax无刷新实现图片切换特效

    1.页面cs代码 using System; using System.Data; using System.Configuration; using System.Web; using System ...

  2. JAVA EE 中之AJAX 无刷新地区下拉列表三级联动

    JSP页面 <html> <head> <meta http-equiv="Content-Type" content="text/html ...

  3. JQuery 总结(8)Ajax 无刷新技术

    Ajax  无刷新技术  [ 有get 和post  一一对应] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 $(".delete& ...

  4. ajax无刷新留言板远吗,基于jquery实现ajax无刷新评论

    基于jquery实现ajax无刷新评论 发布于 2017-03-31 11:26:07 | 75 次阅读 | 评论: 0 | 来源: 网友投递 jQuery javascript框架jQuery是一个 ...

  5. ajax无刷新评论的思路,ajax学习——ajax版无刷新评论(数据库)

    //Comment.htm 无刷新评论 type="text/javascript"> //加载评论 $(function() { $.post("GetComme ...

  6. JQUERY AJAX无刷新异步上传文件

    AJAX无刷新上传文件并显示 http://blog.csdn.net/gao3705512/article/details/9330637?utm_source=tuicool jQuery For ...

  7. html5拖拽图片批量ajax无刷新进度上传

    1.前端拖拽图片 之前有篇文章说到HTML5的拖拽(drag.drop,详见:/post/jquery-plugin-1-jquery-drag-and-html5-draggable-api-and ...

  8. ajax无刷新评论示例

    下面就为大家带来一篇 ajax无刷新评论示例.学习还是有点帮助的,给大家做个参考吧. 这是留言板的界面,当用户点击提交留言的时候,自动提交到我的留言下面 留言内容中为空,或者为灰色的"没有填 ...

  9. .net MvcPager+Ajax无刷新分页

    .net  MvcPager+Ajax无刷新分页百度网盘链接: https://pan.baidu.com/s/1QmtBVH_sb4O6pNnEIsB5jw 1.新建Asp.net  Web项目,重 ...

  10. php页面自分页刷新,详解PHP+AJAX无刷新分页实现方法

    PHP+AJAX无刷新分页实现代码详解,最近在看ajax 教程,就想写个简单入门的PHP+AJAX无刷新分页,我们依据ajax开发框架,代码如下: var http_request=false; fu ...

最新文章

  1. KS006基于SSM实现学生成绩管理系统
  2. python登录网页账号密码_Python 通过爬虫实现GitHub网页的模拟登录的示例代码
  3. 匈牙利命名法为何被淘汰_为何甲烷的习惯命名法用甲烷而不是一烷?
  4. html中optgroup 标签用法,分组、只读的且呈树状样式显示
  5. ElasticSearch Java API
  6. 2.24. Spring boot with Apache Kafka
  7. 初识exe程序反汇编小感
  8. OwinStartup不触发
  9. VEGAS不等双11,提前嗨购!助你成为视频大神!
  10. 是否忘记了向源中添加 stdafx.h
  11. RPLIDAR A1 slam建图
  12. 【毕业设计】机器学习车牌识别系统 - python opencv
  13. OpenXML指定位置插入图片
  14. table表格锁定任意数量列或行
  15. 小米发明“永动机”:走路即可为智能设备充电
  16. 11g Rac 配置 Linux
  17. python列表去掉逗号_python – Scrapy crawler,从字符串中删除逗号
  18. omni私链常用命令
  19. html5 游戏广告 sdk,帷千动媒SDK 3.0发布 基于HTML5富媒体广告
  20. VR能巅覆传统音乐产业吗?

热门文章

  1. java图书购买系统的项目_JAVA入门第三季项目(图书查找系统)
  2. 服务器的登录日志文件,windows云服务器登录日志文件
  3. 【互动出版网】央视热播BBC纪录片同名图书买二赠一活动
  4. VMare Workstation 12 安装 AsteriskNow freePBX
  5. Linux下Socket通信(TCP实现)
  6. Linux 使用 iptables屏蔽IP段
  7. (三十六)让常量只读——const限定符
  8. hough变换是如何检测出直线和圆的?
  9. SVN,HG,GIT 命令说明
  10. 千万不能返回局部变量的引用