整合一下目前做的项目中JS中用到的相关源码等,留待记录和使用。

一、ajaxgrid源码部分


1、初始化


2、查询

var code = $('#city option:selected').val();//Jquery获取选中的值
var radius = $('#radius option:selected').val();//Jquery获取选中的值

3、删除

①:

    function deleteData(obj) {
//获取当前行对象
var row = ajaxgrid.getEventRecord(obj);
//根据row获取当前行的相关数据
var province = row.data.province;
var year = row.data.year;
var stage = row.data.stage;
//向后台action发起request请求
$.request({
action:"delete",
//附加参数传递方法:params中传递附加的参数
params:{'uuid':row.data.uuid},
success:onsavecomplete
}) ;
} function onsavecomplete(response){
setRM('success', response.getMessage(), retrieve());
}

4、保存

5、根据id获取值,时间值等

JSP:

<td align="center" width="80">月报年份</td>
<td>
<hy:date width="100px" id="yearId" editor="year" name="year" upload="true" startyear="2018" endyear="${test}"/></td>
<td align="center" width="80">月份</td>
<td>
<hy:drop width="100px" id="stageId" list="stageList" listKey="value" listValue="label" name="stage" upload="true" />
</td>

JS:根据日期id获取日期的相关数据

function checkIsHave() {
var year = yearId.getValue();
var stage = stageId.getSelectedValue();
if (year == null || year == "") {
setRM('error', "请选择年份!");
return false;
}
if (stage == null || stage == "") {
setRM('error', "请选择期数!");
return false;
}
$.request({
action:"checkIsHave",
params:{'yearStr':year, 'stageStr':stage},
success:function (response) {
var isHave = response.getParameter("isHave");
var nohave=response.getParameter("message");
if (nohave) {
alert("尚未报送该月数据,无法生成月报")
}else{
if (isHave) {
$.confirm("提示", "已经生成过本月月报是否要重新生成?", function() {
createMonthReport();
}, function() {
});
} else {
createMonthReport();
}
}
}
}) ;
}

6、详情、跳转链接 : a 标签

JSP:

<hy:gridcustom title="操作" width="200" customstylefunc="setLink()">
<!-- <a href="javascript:void(0)" onclick="edit(this)">详情</a>&nbsp;
<a href="javascript:void(0)" id="rid" onclick="rid(this)" >解除注销</a>&nbsp; -->
</hy:gridcustom>

JS方法:

function setLink(record){
var htmlstr="";
var status = record.get("busStatus");
if (status == "2") {
htmlstr += "<a href=\"javascript:void(0)\" onclick=\"edit(this)\">详情</a>&nbsp";
htmlstr += "<a href=\"javascript:void(0)\" onclick=\"rid(this)\">解除注销</a>";
}else{
htmlstr += "<a href=\"javascript:void(0)\" onclick=\"edit(this)\">详情</a>";
}
return htmlstr;
}



二、ajaxform源码部分

1、获取ajaxform中的某个对象

var city = ajaxform.getColumnValue("city");

var jtyktVal = response.getParameter("jtykt");
ajaxform.setValue("jtykt",jtyktVal);


三、源码片段

1、界面取值、赋值计算等

function lineDrop1(){
var code = $('#city option:selected').val();//Jquery获取选中的值
var lineDrop1 = $('#lineDrop1 option:selected').val();
var upMiler1 = $('input[name=upMiler][type=text]');
var downMiler1 = $('input[name=downMiler][type=text]');
var upDownMiler1 = $('input[name=upDownMiler][type=text]');
$.post('/gj/gj/application/gjOnlineApplication.do?action=getBusLineUp',{'lineDrop1':lineDrop1,'code':code},function(result){
upMiler1.val((Number(result.BusLineUp)/1000).toFixed(2));
downMiler1.val((Number(result.BusLineDown)/1000).toFixed(2));
upDownMiler1.val((Number(upMiler1.val())+Number(downMiler1.val())).toFixed(2));
$('input[name=yyxlcd][type=text]').val(((Number(upMiler1.val())+Number(downMiler1.val())+Number(upDownMiler1.val()))/2).toFixed(2));
})
}

2、级联下拉部分

JSP:

<td align="center" width="80">城市</td>
<td>
<hy:drop width="103px" list="cityList" listKey="value" listValue="label"
name="city" upload="true" nullable="false" id="cityId" onchange="refreshDrop()"/>
</td>
<td align="center" width="80">企业</td>
<td>
<hy:drop width="103px" id="unitDrop" list="unitWorkList" listKey="value" listValue="label" listFilter="filter" name="unit" upload="true" />
</td>
<td align="center" width="80">线路</td>
<td>
<hy:drop width="103px" id="lineDrop" name="lineUuid" list="lineList" listKey="value" listValue="label" listFilter="filter" upload="true" ></hy:drop>
</td>

JS:级联下拉

function refreshDrop() {
var city = cityId.getSelectedValue();
unitDrop.refreshByFilter(city);
lineDrop.refreshByFilter(city);
}

3、0-100的数字校验,小数校验、整数校验

    function vaild3 (title,column) {
var columnObj = ajaxform.getColumnComponent(column);
//0——100的数字校验
var patrn = /^(((\d|[1-9]\d)(\.\d{1,2})?)|100|100.0|100.00)$/;
//2为小数校验
var patrn = /^(([0-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;
//正则整数校验
var patrn = /^[0-9]*$/;
var columnValue = ajaxform.getColumnValue(column);
if (columnValue!=null && columnValue!="" && !patrn.test(columnValue)) {
notPassMsg = title + ':只能输入0-100,小数点后两位的数字!';
notPassArray[column]=notPassMsg;
columnObj.css({"background-color":"#FDC8CC"});
$.alert('提示信息', notPassMsg, function(){});
} else {
delete notPassArray[column];
columnObj.css({"background-color":""});
} }

4、后台response,前台得到值

Action:

    private String planBeginYear;
private Long city;
//添加set和get方法 responseData.setParameter("planBeginYear", planBeginYear);
responseData.setParameter("city", city);

JS:

var year = response.getParameter("planBeginYear");
var city = response.getParameter("city");

项目Js源码整合的更多相关文章

  1. vue.js源码精析

    MVVM大比拼之vue.js源码精析 VUE 源码分析 简介 Vue 是 MVVM 框架中的新贵,如果我没记错的话作者应该毕业不久,现在在google.vue 如作者自己所说,在api设计上受到了很多 ...

  2. underscore.js 源码

    underscore.js 源码 underscore]JavaScript 中如何判断两个元素是否 "相同" Why underscore 最近开始看 underscore.js ...

  3. vue源码分析—Vue.js 源码构建

    Vue.js 源码是基于 Rollup 构建的,它的构建相关配置都在 scripts 目录下.(Rollup 中文网和英文网) 构建脚本 通常一个基于 NPM 托管的项目都会有一个 package.j ...

  4. 修改CKplayer.js 源码解决移动端浏览器全屏不能限制快进的问题

    原文地址:https://www.cnblogs.com/jying/p/9642445.html,转载请说明出处. 最近项目需要播放视频且限制未观看部分的快进功能,找了两款js插件ckplayer和 ...

  5. 以V8中js源码为例了解GitHub查看代码功能

    GitHub作为开源仓库,许多开源项目仓库这里,当然不乏十分优秀的,比如Node.V8,我一直比较好奇js源码,像java的话,因为环境是JDK,我们结合IDE很容易就能跳转到其源码内部去查看实现,但 ...

  6. 嗨,让我带你逐行剖析Vue.js源码

    本项目受到了阮一峰老师的肯定,已刊登在阮一峰老师微信公众号的科技爱好者周刊第87期,同时也被多个微博大V转发,短短一个月时间内在github上star数量就已经突破2k! Hello,大家好,我最近在 ...

  7. Vue.js 源码构建(三)

    Vue.js 源码是基于 Rollup 构建的,它的构建相关配置都在 scripts 目录下. 构建脚本 通常一个基于 NPM 托管的项目都会有一个 package.json 文件,它是对项目的描述文 ...

  8. 手写Express.js源码

    上一篇文章我们讲了怎么用Node.js原生API来写一个web服务器,虽然代码比较丑,但是基本功能还是有的.但是一般我们不会直接用原生API来写,而是借助框架来做,比如本文要讲的Express.通过上 ...

  9. 手写Koa.js源码

    用Node.js写一个web服务器,我前面已经写过两篇文章了: 第一篇是不使用任何框架也能搭建一个web服务器,主要是熟悉Node.js原生API的使用:使用Node.js原生API写一个web服务器 ...

随机推荐

  1. Redis+LUA整合使用

    .前言 从本章节开始我们就开始讲解一些 Redis 的扩展应用了,之前讲的主从.哨兵和集群都相当重要,也许小公司用不到集群这么复杂的架构,但是也要了解各知识点的原理,只要了解了原理,无论什么时候是有, ...

  2. 改进你的c#代码的5个技巧(一)

    亲爱的读者,在这篇文章中,我提供了一些c#编程的最佳实践. 你是否在用户输入验证中使用异常处理机制? 如果是,那么你就是那个把你的项目执行速度降低了62倍的人.你不相信我吗?等几分钟;我来教你怎么做. ...

  3. linux下用户管理命令、用户组管理命令

    useradd 添加新用户 1.基本语法 useradd 用户名                   (功能描述:添加新用户) useradd -g 组名 用户名      (功能描述:添加新用户到某 ...

  4. java之volatile

    一.谈谈对volatile的理解 volatile是java虚拟机提供的轻量级的同步机制 保证可见性.不保证原子性.禁止指令重排 1.可见性理解:所有线程存放都是主内存的副本(比如某个变量值为25), ...

  5. linux系统重启网卡后网络不通(NetworkManager篇)

    一.故障现象 RHEL7.6系统,使用nmcli绑定双网卡后,再使用以下命令重启network服务后主机网络异常,导致无法通过ssh远程登录系统.      # systemctl restart n ...

  6. .NET 云原生架构师训练营(模块二 基础巩固 RabbitMQ Masstransit 介绍)--学习笔记

    2.6.6 RabbitMQ -- Masstransit 介绍 Masstransit 是什么 Quickstart 消息 Message Masstransit 是什么 Masstransit 是 ...

  7. Django中一种常见的setting与账密保存/读取方式

    前言 在查看别人Django代码的时候,发现很多的manager文件都是类似于 #!/usr/bin/env python import os import sys if __name__ == '_ ...

  8. 基于JavaFX实现的音乐播放器

    前言 这个是本科四年的毕业设计,我个人自命题的一个音乐播放器的设计与实现,其实也存在一些功能还没完全开发完成,但粗略的答辩也就过去了,还让我拿了个优秀,好开心.界面UI是参考网易云UWP版本的,即使这 ...

  9. wpf 中用 C# 代码创建 PropertyPath ,以对间接目标进行 Storyboard 动画.

    如图,一个 Rectangle 一个 Button ,点击按钮时要通过动画完成对 Rectangle填充色的渐变动画. Xaml: 1 <Window 2 x:Class="WpfAp ...

  10. (三)React Ant Design Pro + .Net5 WebApi:后端环境搭建

    一. 简介 1. 平常用的core webapi 3.1,恰逢.Net5.0正式版发布了,直接开整. 2. 先学习IdentityServer4 .Autofac.EF Core,集成到后台框架里. ...