前段js初学总结
常用的js整理
confirm("此次修改操作会清空所有基础数据!!!您确定要修改吗?")
<a onclick="delBasisData('${data['_id']!''}')">删除</a> 抑制警告
@SuppressWarnings(value={"unchecked","unused"})
@SuppressWarnings("all") 如果为空给一个空的字符串
${fieldGroup.name?default('')} 定义一个事件和方法
onkeyup='valueRFMNum(this)' 判断是否为空 <#if fieldGroup.children??>
${user!'your name'}
${user?if_exists}
${user?default('your name')} 进行转换
<#assign test2 = "2009-01-22 17:23:45"?datetime("yyyy-MM-dd HH:mm:ss") />
<#if child.fieldFloat?default(0)==0> 重定向方法的使用
function toCustomerGroupPage(id){
window.location.href="../customerGroup/toCustomerGroupPage?bhCustomerGroupId="+id;
} 排序 <#list list?sort_by("time") as v>
</#list> 集合的循环
<#assign score = {"语文":78,"数学":83,"Java":89} >
<#list score?key as x>
${x}--->${score[x]};
</#list> 返回的数据使用id 进行一个添加的功能
$("#div_content").append('<ul class="labelEditUl">'
+ '<input type="hidden" name="_id" value="' + _id + '">'
+ '<input type="hidden" name="customerId" value="' + data.customerId + '">'
+ '<input type="hidden" name="creatorId" value="' + data.creatorId + '">'
+ '<input type="hidden" name="creator" value="' + data.creator + '">'
+ '<input type="hidden" name="createTime" value="' + data.createTime + '">'
+ '<#list 1..30 as i><#if (basisTable['field'+i])??><li>'
+ ' <span><#if (basisTable['must'+i]) == '1'><i style="color:red; margin-left: -7px;">* </i></#if>${basisTable['field'+i]!''}:</span>'
+ '<input onblur="checkDataModal(this)" maxlength="${maxLen[(basisTable['type'+i])]}" style="width:200px;height:28px" class="modify_input <#if basisTable['type'+i] == 'date'>Wdate</#if>" fieldName="${basisTable['field'+i]}" must="${basisTable['must'+i]}" fieldType="${basisTable['type'+i]}" type="text" name="field${i}" value="'+ (data.field${i} == "undefined" ? "" : data.field${i})
+'" class="labelInput" <#if basisTable['type'+i] == 'date'>onfocus="WdatePicker({dateFmt:\'yyyy-MM-dd HH:mm:ss\'})"<#elseif basisTable['type'+i] == 'integer'>onKeyUp="disposeUtil.limitnumeral(this);"<#elseif basisTable['type'+i] == 'double'>onKeyUp="disposeUtil.limitprice(this);"<#else>onKeyUp="disposeUtil.limitspecialstr1(this);"</#if>>${typeMap[(basisTable['type'+i])]}</li><br><p class="Validform_checktip Validform_wrong" style="margin: -25px 1px 10px 89px;"></p><#else><#break></#if></#list></ul>');
$("#modifyDataModal").modal('show'); 循环功能
<#list KMFunctionMap?if_exists?keys as key>
<option value="${key}" <#if (tag.moduleId)?default('402893be5507612a01550763306906f9') == "${key}">selected</#if>>${(KMFunctionMap[key])?default('')}</option>
</#list> 动态包含
<#include "./confirmWindow.ftl"/>
debugger;
<#if totalm gte 10000>${(totalm/10000)?string('##.#')}万<#else>$ 存量288.7万人 数据库的更新
String orgId = getOrgIdByUserByOrg();
DBCollection collection = MongoDBServer.getInstance().getBaihuiDB().getCollection("goal_count");
DBObject obj = new BasicDBObject();
obj.put("orgId",orgId);
obj.put("goalCount",goalCount);
collection.update(new BasicDBObject("orgId",orgId),obj,true,false); 获得val值 readonly 只读模式
1. <input type="text" readonly id="goal-input" maxlength="16" name="goal" value="${goalm!'0'}"> 2. $("#goal-input").val('${goalm!'0'}'); <select class="select" id="findBy" name="findBy">
<option value="">--请选择--</option>
<option value="customerId">客户ID</option>
<#list 1..30 as i>
<#if (basisTable['field'+i])??>
<option value="field${i}">${basisTable['field'+i]!''}</option>
<#else><#break>
</#if>
</#list>
</select>
$("#findBy").val() 按钮的功能
<input type="button" class="btn btn-primary" value="下一步" onclick="nextOperation();"> 弹出新的窗口使用
1. <a id="goalMember" href="javascript:void(0);">
2.$("#goalMember").click(function () {
$("#goalMemberModal").modal("show");
}); 3.<div class="modal fade chartModal" id="goalMemberModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">修改目标会员总量</h4>
</div>
<form role="form" id="goalMemberForm" action='' method="post"> <div style="text-align: center">
<ul class="chartModalUl">
<li>
<span><i style="color:red; margin-left: -7px;">* </i>目标会员总量:</span>
<input type="text" id="goal-input" maxlength="16" name="goal" value="${goalm!'0'}">
</li>
</ul>
</div> </form>
<div class="newly-down-buttn" style="text-align: center">
<button type="button" id="save-btn" class="btn btn-success">保存</button>
<button type="button" id="cancel-btn" class="btn btn-outline btn-default" style="margin-left: 20px">取消</button>
</div>
</div>
</div>
</div> 非空的校验
var goal = $("#goal-input").val();
if (!goal){
alert("目标会员总量不能为空!");
return;
} 编写一个事件 把表单的内容进行一个提交
$("#div_content").append('<h3>失败!</h3><span>错误'+data.error
+'条数据</span><br><a onclick="downErrorList()">下载错误列表</a>'+
'<form id="downError" action="../basis/downErrorList"><input type="hidden" name="filePath" value="'+
data.filePath+'"></form>'); 提示信息
confirm("您确定要删除这个分组吗?") 用来处理字符串 转化为json的格式
JSONArray jsonArray = JSONArray.fromObject(tag.getRuleConditions()); ajax里面嵌套 超链接
$.ajax({
type:"post",
url:"../referenceGroup/isLeafNode",
data:{
groupId : TgroupId
},
success:function(data) { if (data == true){
document.location.href = "../reference/updatePage?opName=create&groupId="+TgroupId+"&groupName="+TgroupName;
}else {
alert("只有叶子分组才能添加参照表!");
}
}
}); 加载和调用前一个路径
History back() 方法 ajax里面调方法
function groupExists(groupId) {
var flag = false;
$.ajax({
type: "post",
url:"../referenceGroup/groupExists",
data: {
groupId:groupId
},
async: false,
success:function(data){
if(true == data){
flag = true;
}
},
error:function(){
errorAlert();
}
});
return flag;
} function errorAlert() {
alert("抱歉,分组数据与服务器不同步!");
document.location.href = "../referenceGroup/referenceGroupList";
} $.ajax({
type:"post",
url:"../tagGroup/isLeafNode",
data:{
groupId : TgroupId,opName:"create"
},
success:function(data) { if (data == true){
document.location.href = "../tag/updatePage?groupId="+TgroupId+"&groupName="+TgroupName+"&opName=create";
}else {
alert("只有叶子分组才能添加标签!");
}
}
}); sql 不等于空
AND ARG_F2001 <> '' 解析为整数
StringUtil.parseInt( 本地文件的路径
String filePath = ApplicationPath.getRootPath() + "uploadFile" + File.separator; 实现文件写入本地的功能
private boolean createCsvDataFile(int size, Map<String, Long> cardsMap_1, Map<String, Long> goodsMap_1, String filePath, String fileName) {
String countSql = "SELECT COUNT(ARG_F2001) FROM (SELECT ARG_F2001 FROM bh_custom_module_2 WHERE IS_DELETED = 0 AND ARG_F2001 <> '' AND ARG_A2001 <> '') a ";
int total = StringUtil.parseInt(bhCustomModule2Dao.findBySql(countSql).get(0)+"");
int loop = total% size == 0 ? (total/ size) : (total/ size + 1); 三元表达式
String limitSql;
String countSql = "SELECT COUNT(ARG_F2001) FROM (SELECT ARG_F2001 FROM bh_custom_module_2 WHERE IS_DELETED = 0 AND ARG_F2001 <> '' AND ARG_A2001 <> '') a "; int loop = total% size == 0 ? (total/ size) : (total/ size + 1);
BufferedWriter csvWriter = null;
try {
File file = new File(filePath);
if (!file.exists()) {
file.mkdirs();
}
csvWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(filePath+fileName)), "UTF-8"), 1024);
for (int i = 0,start = 0; i < loop; i++) {
limitSql = "SELECT ARG_F2001,ARG_A2001 FROM bh_custom_module_2 WHERE IS_DELETED = 0 AND ARG_F2001 <> '' AND ARG_A2001 <> '' limit " + start + "," + size;
ArrayList<Object []> limitResult = (ArrayList<Object[]>)bhCustomModule2Dao.findBySql(limitSql);
for (Object[] strings : limitResult) {
Long cardId = cardsMap_1.get(strings[0].toString());
Long goodsId = goodsMap_1.get(strings[1].toString());
if (cardId == null || goodsId == null)continue;
csvWriter.write(cardId+","+goodsId+",1");
csvWriter.newLine();
csvWriter.flush();
}
start += size;
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
try {
if (csvWriter != null) csvWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} 清除集合的方法
cardsMap_1.clear() js 标签判断上下页
function gotoPage() {
var totalPage = '${page.totalPage}';
var pageNo = $("#commonListTable_input").val();
if (!pageNo || parseInt(pageNo) > parseInt(totalPage) || parseInt(pageNo) < 0)return;
queryListDo(pageNo,'${page.pageSize}');
}
进行一个赋值的操作
window.tagSearchForm.action="./tagSearchUpdate";
window.tagSearchForm.opName.value="update"; 获得被选中的id 被给一个返回值
function getShareState(){
var shareState = 0;
var shareState = $("#shareState_div").find("input[type='radio'][name='shareState']:checked").val();
if(parseInt(shareState)>2){//分配
shareState = $("#shareState_div").find("select[name='shareState']").val();
}
return shareState;
} 首页按钮禁用
<li class="paginate_button first disabled" aria-controls="commonListTable" tabindex="0" id="commonListTable_first">
<a href="#">首页</a>
</li> 搜索清除 回显和确认 recommendResult 页面
吧搜索的功能里面的信息 进行一个清除的操作 搜索条件进行一个加密的处理
base64encode(escape(__ret.operaValues));
<script src="../plugins/base64/base64.js" language="javascript" type="text/javascript"></script>
json的数据的格式
{ "people": [{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }]
"annimal":[{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }]
} json的转化和解析
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符 var obj = str.parseJSON(); //由JSON字符串转换为JSON对象 var obj = JSON.parse(str); //由JSON字符串转换为JSON对象 用for...in 这种遍历的方式,例如:
var arr = new Array("first", "second", "third")
for(var item in arr) {
document.write(arr[item]+",");
}
Map 循环的方式
Map<String,String> map=new HashMap<String,String>();
map.put("1","hello");
map.put("2","name");
map.put("3","tom");
for(String key:map.keySet()){
System.out.println("value值为:"+map.get(key));
} 重定向
window.location.href="../customerGroup/customerGroupBaseList?size=${page.size}&number=" + num + "&searchVal=" + encodeURI(encodeURI(searchParams)) + "&pageSign=1&dateStr=" + dateStr + "&orgId=" + orgId; 获得每个某个不认的标签
$("#tbody-search td").each(function(){
var oper = $(this).find("select").val();
var name = $(this).find("input").prop("name");
var val = $(this).find("input").val();
var strs = "NULL,UNNULL,TODAY,YESTERDAY,LASTWEEK,THISWEEK,LASTMONTH,THISMONTH"; if(val!="undefined"&& $.trim(val)!="" || strs.indexOf(oper)!=-1){
searchParams += ",\""+oper+"|"+name+"\":\""+$.trim(val)+"\"";
}
});
移除属性disabled
$("#valueRNum").removeAttr("disabled"); 正则表达式替换字符
paramsJsonString.replace(new RegExp("'",'gm'), "\"") 获取var 集合中某个值
var paramsJson=\'';
paramsJson['module']
循环集合var的值 for(var i in linkModule) {
linkModule[i];
} 遮罩页面实现和结束
Overlayer.show("正在处理数据,这个动作可能要花费一些时间,请耐心等待!");
Overlayer.remove();
判断去空格是否为空
if (nameId.trim() =="") {
Overlayer.remove();
alert('文件夹名不能为空格');
return false;
}
三元表达式
totalElements != map ? 1 : 0;
获取当前用户
User user = UserUtil.getUser();
系统当前时间
long nowMills = System.currentTimeMillis();
将字符串进行编码
txt = URLDecoder.decode(txt, "UTF-8");
关闭窗口
window.close()
前段js初学总结的更多相关文章
- Webform之Repeater中的单选和多选的应用以及前段JS的实现
HTML中的代码 <asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate&g ...
- Node.js初学
Node.js 初学~ 其技术上最大的卖点是非阻塞的I/O和基于事件的异步处理机制. 后端没有什么深入研究,一直对其不是很了解. 透过一个例子看 非阻塞 与 通常的 阻塞 var text = rea ...
- node.js 初学(二)—— 搭建注册/登录服务器
node.js 初学(二)—— 搭建注册/登录服务器 理论上来说,代码实现在理论和实际上是一样的.但实际上来说,他们不是 做一个最简单的用户注册登录功能 1.接口定义: 注册:/user?act=re ...
- node.js 初学(一)—— http fs 服务器/文件/post get
node.js 初学 —— http fs 服务器/文件/post get 这个世界,从来不会给失败者颁奖! 了解 node.js (开源) node.js 是用来做后台开发的,但是现在大部分前端人员 ...
- JS初学之-选项卡(图片切换类)
初学选项卡,主要问题卡在了索引值上面,花了较长的时间学习. 索引值其实很好理解,就是为每一个元素用JS的方法添加一个属性,即自定义属性. 在for循环里的函数里用i,会直接弹出这个数组的length, ...
- JS初学之-if else图片顺序及循环切换
初学JS,代码还需多多改进,自学中... <!doctype html><html><head><meta charset="utf-8" ...
- node.js初学遇到的问题
是用express安装一个网站基础架构时 express -t ejs microblog 但是出来的模板引擎是jade,通过修改js也修改模板引用npm install 等等修改了index.ejs ...
- JS初学之-效果没出来怎么办?-alert函数测试
一般出了问题之后,有经验的高手一眼就可以看出来,但是对于我们初学者来说,利用alert函数不失为一个好方法. 这时我们要利用逐行测试的方法,在任意一句代码下加alert,如果可以弹出来就说明上面的没有 ...
- 使用express搭建第一个Web应用【Node.js初学】
来源:http://jingyan.baidu.com/article/bad08e1ee501e009c8512106.html express是一个开源的node.js项目框架,初学者使用expr ...
随机推荐
- stream was not readable.
StreamWriter使用时的报错情况: stream was not readable. 错误原因: 没有指定StreamWriter的写入文件 正确代码示例1: byte[] businessD ...
- 手把手教你写一个java的orm(五)
生成sql:where 上一篇里我们实现了生成insert的sql,下面要开始实现update,delete,select的sql语句了.但是这些语句有一个比较麻烦的地方是:它们一般后面都会有wher ...
- 为什么java需要序列化对象
序列化是一种用来处理对象流的机制 所谓对象流:就是将对象的内容进行流化,可以对流化后的对象进行读写操作,也可将流化后的对象传输与网络之间 序列化是为了解决在对象流进行读写操作时所引发的问题 序列化的实 ...
- ARM体系结构和汇编指令
第一节 可编程器件的编程原理 1. 可编程器件的特点 1 . CPU在固定频率的时钟控制下节奏运行 2 . CPU可以通过总线读取外部存储设备中的二进制指令集,然后解码执行 3 . 这些可以被CPU解 ...
- 聊聊MyBatis缓存机制【美团-推荐】
聊聊MyBatis缓存机制 2018年01月19日 作者: 凯伦 文章链接 18778字 38分钟阅读 前言 MyBatis是常见的Java数据库访问层框架.在日常工作中,开发人员多数情况下是使用My ...
- html中内联元素和块元素的区别、用法以及联系
昨天用asp.net的BulletedList做一个导航栏,最终该控件形成的html代码是ul列表和a超链接,具体代码如下: <ul id="BulletedList1" s ...
- Android sdcard之read-only
AndroidManifest.xml是否加入了SDCard的权限设置 <!-- 创建与删除文件权限 --> <uses-permission android:name=" ...
- ios虚拟机安装(二)
1)vmware快照功能 创建还原点:右键-->snapshot(对当前虚拟机系统备份) 2)虚拟机与外界系统通话 找到路径:/vmware/vmware workstation下的darwin ...
- 润乾V4报表放入WEBINF保护目录下如何实现
润乾报表放入WEBINF保护目录下如何实现 WEB-INF下面的文件都是受保护的,客户为了保护项目的文件不受到非法的访问,jsp页面都放在WEB-INF下,那润乾报表放入WEB-INF保护目录下 ...
- linux中文字体
◆ 背景说明 报表,在windows下,展现.导出都正常,在linux下,字体变大了.比如,单元格的大小设计好后,里面的字当好能一行显示完,将报表放到linux下后,字变大了,一行显示不完了,变 ...