全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JSP 前端数据本地排序实例代码

在前端中我们经常需要数据的排序,首先写引入我写好的js

$(function($) {
  $('#sclazzId').val($('#voId').val());
  document.getElementsByName('nameup')[0].style.display = "none";
  document.getElementsByName('nameup')[1].style.display = "none";
  document.getElementsByName('nameup')[2].style.display = "none";
  document.getElementsByName('nameup')[3].style.display = "none";
  var tabobj = document.getElementById("tbValue");
  /*
   * for (var i = 2; i < tabobj.rows.length; i++) {
   * 
   * if (tabobj.rows[i].cells[1].innerHTML == code) {
   * 
   * tabobj.rows[i].style.backgroundColor = "red";
   * 
   * break; } }
   */
});
function OnChange(code) {
  // alert(document.getElementById("drpIndustry").value+"_"+code+".html");
  window.location.href = document.getElementById("drpIndustry").value + "_"
      + code + ".html";

}

// 转换器,将列的字段类型转换为可以排序的类型:String,int,float
function convert(sValue, sDataType) {
  switch (sDataType) {
  case "int":
    if (sValue != "--")
      return parseInt(sValue);
    else
      return -10000000000000;
  case "float":
    if (sValue != "--")
      return parseFloat(sValue);
    else
      return -10000000000000.0;
  case "date":
    if (sValue != "--")
      return new Date(Date.parse(sValue));
    else
      return "1900-01-01";
  default:
    return sValue.toString();

  }
}

// 排序函数产生器,iCol表示列索引,sDataType表示该列的数据类型
function generateCompareTRs(iCol, sDataType) {

  return function compareTRs(oTR1, oTR2) {
    var vValue1 = convert(oTR1.cells[iCol].firstChild.nodeValue, sDataType);
    var vValue2 = convert(oTR2.cells[iCol].firstChild.nodeValue, sDataType);

    if (vValue1 < vValue2) {
      return -1;
    } else if (vValue1 > vValue2) {
      return 1;
    } else {
      return 0;
    }
  };
}
// 排序方法
function sortTable(sTableID, iCol, sDataType) {
  if (document.getElementsByName('nameup')[parseInt(iCol) - 1].style.display == 'none') {
    document.getElementsByName('nameup')[parseInt(iCol) - 1].style.display = 'block';
    document.getElementsByName('namedown')[parseInt(iCol) - 1].style.display = 'none';
  } else {
    document.getElementsByName('nameup')[parseInt(iCol) - 1].style.display = 'none';
    document.getElementsByName('namedown')[parseInt(iCol) - 1].style.display = 'block';
  }
  var oTable = document.getElementById(sTableID);
  var oTBody = oTable.tBodies[0];
  var colDataRows = oTBody.rows;
  var aTRs = new Array;
  // 将所有列放入数组
  for (var i = 0; i < colDataRows.length; i++) {
    aTRs[i] = colDataRows[i];
  }
  // 判断最后一次排序的列是否与现在要进行排序的列相同,是的话,直接使用reverse()逆序
  if (oTable.sortCol == iCol) {
    aTRs.reverse();
  } else {
    // 使用数组的sort方法,传进排序函数
    aTRs.sort(generateCompareTRs(iCol, sDataType));
  }

  var oFragment = document.createDocumentFragment();
  for (var i = 0; i < aTRs.length; i++) {
    aTRs[i].cells[0].innerHTML = i + 1;
    oFragment.appendChild(aTRs[i]);
  }

  oTBody.appendChild(oFragment);
  // 记录最后一次排序的列索引
  oTable.sortCol = iCol;
}

function detatilWork(id) {
  alert(id);
  $.post("", {
    id : id
  }, function() {

  });
}

function reflash() {
  window.location.reload(true);
}

function openSearch() {
  var name = $('#sname').val();
  var clazzId = $('#sclazzId').val();
  window.location.href = "assistantWork.action?name=" + name + "&clazzId="
      + clazzId;
}

function lastPage(page) {
  var name = $('#sname').val();
  var clazzId = $('#sclazzId').val();
  page = (page - 1 < 0) ? 0 : (page - 1);
  window.location.href = "assistantWork.action?page=" + page + "&name="
      + name + "&clazzId=" + clazzId;
}
function selPage(page) {
  var name = $('#sname').val();
  var clazzId = $('#sclazzId').val();
  window.location.href = "assistantWork.action?page=" + page + "&name="
      + name + "&clazzId=" + clazzId;
}
function nextPage(page, pages) {
  var name = $('#sname').val();
  var clazzId = $('#sclazzId').val();
  page = (page + 1 > pages) ? pages : (page + 1);
  window.location.href = "assistantWork.action?page=" + page + "&name="
      + name + "&clazzId=" + clazzId;
}

function detail(id, type) {
  $.ajax({
    url : 'selectOneWork.action?id=' + id,
    async : false, // 同步请求
    error : function() {
      alert("失败");
    },
    success : function(data) {
      data = eval("(" + data + ")");
      $('#workid').val(data.id);
      $('#cname').val(data.name);
      $('#sclazzIdM').val(data.clazzId);
      $('#cdescription').val(data.description);
    },
  }, 'json');
  if(type==1){
    //查看 需要改成不可编辑
    setDisabled();
  }else if(type==2){
    cleanDisabled();
  }
}

function add(){
  cleanDisabled();
}
function setDisabled(){
  $('#cname').attr("disabled",true);
  $('#sclazzIdM').attr("disabled",true);
  $('#cdescription').attr("disabled",true);
  $('#submitWork').attr("disabled",true);
}

function cleanDisabled(){
  $('#cname').attr("disabled",false);
  $('#sclazzIdM').attr("disabled",false);
  $('#cdescription').attr("disabled",false);
  $('#submitWork').attr("disabled",false);
}

在jsp页面中我们只需要在字段中嵌入这两div就可以实现视觉上的升序或降序,真正实现排序的是字段上面的那个点击事件,事件的执行方法在上面的脚本中都已经写好了,就这么简单,你就实现了表格数据的本地排序,大大的减少了与服务器之间的访问次数。

1.另外在说一句就是在我们的jsp中我们有的时候并不是很需要数据库数据的格式,这个时候我们需要将数据的格式进行转化,转化的方式有很多种,我们可以将数据在后台的时候进行格式处理,但是这样做的话在效率上并不是很快,我们在jsp中就有这样的标签

这样我们就实现了日期的格式化处理,值得注意的是这里的fmt只能用我页面上的布局,不能用工具上的格式化处理,处理过就会影响我们上面的本地排序,所以只能用我的格式

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# JSP前端数据本地排序  # JSP  # 数据本地化  # JSP中的PreparedStatement对象操作数据库的使用教程  # JSP中操作数据库的常用SQL标签用法总结  # JSP使用JDBC连接MYSQL数据库的方法  # JSP基于JDBC的数据库连接类实例  # jsp通过自定义标签库实现数据列表显示的方法  # JSP实现从数据库导出数据到Excel下载的方法  # 的是  # 产生器  # 实现了  # 升序  # 就会  # 好了  # 你就  # 一句  # 就有  # 只需  # 要在  # 我们可以  # 希望能  # 这样做  # 这个时候  # 大大的  # 在上面  # 不能用  # 谢谢大家  # 中都 


相关文章: 山东云建站价格为何差异显著?  相册网站制作软件,图片上的网址怎么复制?  如何快速搭建响应式可视化网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  太平洋网站制作公司,网络用语太平洋是什么意思?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  西安大型网站制作公司,西安招聘网站最好的是哪个?  建站之星24小时客服电话如何获取?  动图在线制作网站有哪些,滑动动图图集怎么做?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  北京专业网站制作设计师招聘,北京白云观官方网站?  建站主机如何选?性能与价格怎样平衡?  如何在Windows 2008云服务器安全搭建网站?  无锡营销型网站制作公司,无锡网选车牌流程?  如何在七牛云存储上搭建网站并设置自定义域名?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  电商平台网站制作流程,电商网站如何制作?  建站之星好吗?新手能否轻松上手建站?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  广州建站公司哪家好?十大优质服务商推荐  如何在阿里云ECS服务器部署织梦CMS网站?  如何在万网自助建站平台快速创建网站?  网站制作新手教程,新手建设一个网站需要注意些什么?  魔方云NAT建站如何实现端口转发?  活动邀请函制作网站有哪些,活动邀请函文案?  在线制作视频的网站有哪些,电脑如何制作视频短片?  建站主机服务器选购指南:轻量应用与VPS配置解析  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  如何在IIS中新建站点并配置端口与物理路径?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  如何在阿里云通过域名搭建网站?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  建站主机是否属于云主机类型?  建站之星多图banner生成与模板自定义指南  定制建站策划方案_专业建站与网站建设方案一站式指南  教学网站制作软件,学习*后期制作的网站有哪些?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  c# 在ASP.NET Core中管理和取消后台任务  外贸公司网站制作,外贸网站建设一般有哪些步骤?  如何通过西部数码建站助手快速创建专业网站?  如何在腾讯云服务器快速搭建个人网站?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何选择适配移动端的WAP自助建站平台?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  存储型VPS适合搭建中小型网站吗?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。