使用js过程中遇到的小问题总结(随使用情况不断添加)
2014-11-02 19:53
656 查看
(1)拼接相同的两个json串
开发遇到问题背景:
在查询中使用combobox等easyui的控件,其data数据是由后台取得的,默认想在取得的数据加上(---全部---)这样的字样(本来可以在后台直接添加的,但是在新增弹框中还会用到这组数据,而这个时候就不需要有这个字样了,如果做两次这样的数据实在是浪费时间跟效率),所以我想在取得数据后抛到前台后再做处理。于是有了将两个类型相同的json串拼接在一起的需求。网上有人提出建一个数组,然后遍历这两个的元素放进去,再一种方法就是直接以处理字符串的方式拼接,然后重新生成json串。不过,我发现js数组里有unshif这二个方法,这个方法是向数组头部添加一个或者多个元素。所以我就有了一下想法:
在使用C#处理数字并向前台返回数字的时候,我都是省事的用了.toString("0.00")方法来取的,但是由于这样向前台传的只是一个展示的数据,如果在前台想操作这个数据的时候就会有问题(例如,在你修改这个数据的时候,如果你取的是前台的数据去填充原来的框,那么就会出现问题了),为了让前台取得的数据跟数据库里的一致而又让前台保留两位小数的需求,那么我就把数据抛到前台来处理进行展示了。那么就又成了前台js需要做的事情了。
从网上获取的资料是有toFixed()方法。刚开始我直接用了前台的值去调用这个方法,发现点后没有提示,仔细看之后这是js中Number对象的一个方法,所以先将值为数字的变量转为number类型的,然后再去调用该方法,那么就实现了保留精度的需求了。
(3)在页面打开之前加遮罩
开发遇到问题背景:
在查询中使用combobox等easyui的控件,其data数据是由后台取得的,默认想在取得的数据加上(---全部---)这样的字样(本来可以在后台直接添加的,但是在新增弹框中还会用到这组数据,而这个时候就不需要有这个字样了,如果做两次这样的数据实在是浪费时间跟效率),所以我想在取得数据后抛到前台后再做处理。于是有了将两个类型相同的json串拼接在一起的需求。网上有人提出建一个数组,然后遍历这两个的元素放进去,再一种方法就是直接以处理字符串的方式拼接,然后重新生成json串。不过,我发现js数组里有unshif这二个方法,这个方法是向数组头部添加一个或者多个元素。所以我就有了一下想法:
function test(){ var s = eval("[{id:'',text:'--全部--'}]"); var result = "[{id:'001',text:'组1'},{id:'002',text:'组2'},{id:'003',text:'组3'}]";//实际开发中,这个数据是由后台提供的 var test = eval(result); test.unshift(s[0]); var dddd = JSON.stringify(test); }得到的结果就是:
[{"id":"","text":"--全部--"},{"id":"001","text":"组1"},{"id":"002","text":"组2"},{"id":"003","text":"组3"}](2)js前台处理数字的保留精度
在使用C#处理数字并向前台返回数字的时候,我都是省事的用了.toString("0.00")方法来取的,但是由于这样向前台传的只是一个展示的数据,如果在前台想操作这个数据的时候就会有问题(例如,在你修改这个数据的时候,如果你取的是前台的数据去填充原来的框,那么就会出现问题了),为了让前台取得的数据跟数据库里的一致而又让前台保留两位小数的需求,那么我就把数据抛到前台来处理进行展示了。那么就又成了前台js需要做的事情了。
从网上获取的资料是有toFixed()方法。刚开始我直接用了前台的值去调用这个方法,发现点后没有提示,仔细看之后这是js中Number对象的一个方法,所以先将值为数字的变量转为number类型的,然后再去调用该方法,那么就实现了保留精度的需求了。
function showmoney(value) { if (value != undefined) { var result = new Number(value); return result.toFixed(2); } else return ""; }
(3)在页面打开之前加遮罩
//show load (function () { try { $("<div class=\"datagrid-mask\"></div>").css({ 'z-index': 9999, opacity: 100, filter: 'alpha(opacity=100)', display: "block", width: "100%", height: $(window).height() }).appendTo("body"); $("<div class=\"datagrid-mask-msg\"></div>").html("正在努力加载中,请稍候...").appendTo("body").css({ 'z-index': 10000, display: "block", left: ($(document.body).outerWidth(true) - 190) / 2, top: ($(window).height() - 45) / 2 }); } catch (ex) { } })(); //hidden Load function dispalyLoad() { try { $(".datagrid-mask").remove(); $(".datagrid-mask-msg").remove(); } catch (ex) { } } $(document).ready(function () { dispalyLoad(); })
相关文章推荐
- cocos2d-js 使用过程中遇到的问题总结
- linux使用过程中遇到的问题记录(不断更新)
- ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之二“Linux内核中添加对UBIFS文件系统的支持”
- JavaMail IMAP 和JavaMail Pop3 简介以及使用过程遇到的问题总结
- js/jquery使用过程遇到的问题
- ArcEngine开发过程中遇到axToolbarControl添加item变灰无法使用的解决方法总结
- ubuntu 使用过程中可能遇到的问题,和所需要用到的情况设置
- 在redis使用过程遇到的一些问题的总结
- 关于使用ant-design设计可动态添加FormItem的过程中遇到的问题记录。
- 使用linux过程中遇到的问题总结
- ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之一“uboot中添加对UBIFS文件系统的支持”
- [总结]使用WPF路由事件过程中遇到的一些小问题
- sublime2使用过程中遇到的一些问题总结
- gitlab使用过程中遇到大文件上传或下载失败的问题,总结一下
- 总结Nginx 的使用过程中遇到的问题及解决方案
- Android WebView 使用过程中遇到的问题与总结
- selenium 在使用过程在遇到的问题总结
- Eclipse最新版使用过程中遇到的问题总结
- Zepto 使用过程中遇到的问题总结
- 总结zTree使用过程中遇到的问题