javascript脚本
littlechang
项目经理
多年dotnet经验
java1年经验
展开
-
js保留两位小数
今天在做Birt报表时, 要显示一列百分比的数据,但因一些特别的原因,不能使用使用百分比样式,即如果数据是0.9538不能显示成“95.38%”的样式,必须显示成“95.38”。开始时想使用javascript的内置函数Math.round(),可Math.round()只能显示为整数,而不能保留小数。再网上搜索了一下,还是利用Math.round(),写成Math.round(x*100原创 2012-04-24 15:56:35 · 118276 阅读 · 6 评论 -
Ext图表的动态生成
根据公司的规划,要实现一个自定义的查询组件,其中包括了自定义图表,基本要求是:1、 图表可以自定义,定义完成后保存到数据库中2、 根据保存到数据库的图表定义正确的展现出图表,包括样式、轴、序列、查询条件、查询按钮等。3、 数据源通过配置获取,再根据数据源,查询出数据(可能不在同一个数据库中)。 这里不关心图表定义、数据来源和图表展现时的查询条件与查询按钮等,只关注如何用E原创 2012-12-18 16:21:17 · 3239 阅读 · 0 评论 -
js实现json数据行到列的转换
前面实现了Ext动态生成图表的功能,满足了基本的要求。后面用户提出这样的问题:有如下的数据:月份 电量 单位201201 33 郑州201202 35 郑州201203原创 2012-12-24 15:42:24 · 7280 阅读 · 1 评论 -
Eclipse中使用JstestDriver+Jasmine搭建javascript单元测试环境
在进行Web开发的过程中,javascript的单元测试一直是比较难以处理的问题,主要是因为对单元测试的重视程度不足,而且单元测试要花费比较多的精力,另外一个原因是没有一个合适的单元测试环境。在Eclipse中使用Extjs进行Web开发的过程中,我一直想把Javascript的单元测试环境搭建起来。先后找到JsTestDriver和Jasmine,它们各有专长。JsTestDriver可在开原创 2012-11-19 22:24:18 · 5747 阅读 · 2 评论 -
使用setInterval同步加载Ext多个Store
我们知道Extjs加载Store是异步加载的,这有很多好处,这里不再说明。但有时也需要多个store同步加载,比如我这里遇到的情况:动态解析生成图表,需要同时加载完成图表样式、图表轴、图表序列和图表数据之后才能完整解析生成图表,任意一个store没有加载完成时,解析数据都会造成解析错误,所以必须保证全部store加载完成后才能正确进行解析。要怎么保存多个store加载的同步呢?经常查资料、和思考、原创 2012-11-15 20:43:41 · 4364 阅读 · 0 评论 -
理解javascript函数调用和“this”
2011.8.11多年以来,我看到大量关于javascript函数调用的困惑。尤其,许多人抱怨函数调用中“this”的语意是混乱的。在我看来,大量这样的混乱可以通过理解核心函数调用原语被清理,然后再看所有其他在原语之上进行包装的调用函数的方法。实际上,这正好是ECMAScript规格对这个问题的考虑。在某些领域,这个是一个规格的简化,但基本思想是一样的。核心原语首先,我们来看核翻译 2012-11-13 22:11:57 · 3153 阅读 · 0 评论 -
Extjs实现多个Grid使用同一个Store,但显示不同的内容
在Extjs开发应用的过程中,遇到这样的要求:存在一个数据库表的内容(比较有字段A1,A2,A3,A4,B1,B2,B3,B4,C1,C2,C3,C4,D1,D2,D3,D4),在前端显示时,要在grid1中显示部分内容的数据(如A1,A2,A3,B1,B2,B3),在Grid2中显示另一部分内容的数据(C1,C2,C3,D1,D2,D3),在第三个Grid3中显示全部的数据的另外一些字段(如A1原创 2012-10-17 21:49:33 · 7937 阅读 · 2 评论 -
测试驱动JavaScript开发实战
TDD是一个迭代开发的过程,每个迭代开始于写一个要形成我们正在实现的规格的一部分的测试。短迭代让我们得到对正在写的代码的更多的即时反馈,糟糕的设计决策更容易被捕捉。对任何产品代码都优先写测试,良好的单元测试伴随良好的范围覆盖,但那只是它的一个副作用。再版指南每隔几个星期,通过该网站的访问历史,我们重新审视我们的读者最喜欢的帖子。这个指南首次发布于2010年11月。颠倒开发顺翻译 2012-10-28 10:36:37 · 6078 阅读 · 0 评论 -
使用Hudson与JsTestDriver实现的Javascript持续集成
JsTestDriver的单元测试兼容XML输出使它非常简单的建立JavaScript持续集成。这篇文章通过Hudson帮助你开始(创建自己的Javascript持续集成)。安装Hudson使用Hudson创建持续集成非常简单,特别是在基于Linux的Debian系统上。hudson-ci.org上有一个很好的并且简单的安装Hudson.deb的方法:sudo翻译 2012-10-16 11:37:32 · 2263 阅读 · 0 评论 -
单元测试101:你测试你的javascript吗?
你当然是测试你的代码。没有写出相当数量的代码后不运行一下就直接丢到产品中。在本文中我对你是如何测试的进行质疑。如果你不是已经尽可能的多的自动化测试,为生产力和信息提升做好准备吧。一句话的警告:我将在本文中谈论单元测试和测试驱动开发(TDD),如果你已经得出结论:下面的任何理由对你都不适合,那么请继续阅读,或者至少阅读从我为什么要关心?到最后: 我使用一个库,如jQuery,它保翻译 2012-10-14 11:14:42 · 11036 阅读 · 2 评论 -
ExtJs使用Array向后台发送大量数据
我们在使用Extjs开发系统时,Extjs通过json从后台获取数据,同时保存数据时通过Post方式向服务器发送数据:Ext.Ajax.request({ url : "/application/controller/field/AddHeaderGroup.action", method : 'POST', params : { displayName:no原创 2012-08-22 15:51:12 · 6986 阅读 · 0 评论 -
Ext TextArea 在光标位置插入文本
前两天做了一个公式编辑窗口,使用textarea作为编辑框,要实现的主要功能有:1、 可以任意编辑,2、 点击操作符号按钮(+-*/等)时在textarea的光标位置插入操作符3、 双击grid字段时,在textarea的光标位置插入字段名 基本代码很容易就完成了,如下:/** * Created with JetBrains WebStorm. * User: 常绍新原创 2012-07-27 21:58:25 · 5014 阅读 · 1 评论 -
使用Rhino实现自定义函数
因为一些特别的要求,系统要提供一个自定义的文本框,让用户输入自定义的计算,系统要提供对用户输入的内容的解析和结果计算功能。经过一些搜索、查找和分析,选择使用Rhino和BSF+Beanshell。首先是使用Rhino试验了一下,感觉还不错,记录下来。BSF+Beanshell还没有试,后面试了再说。 先从 http://www.mozilla.org/rhino/下载最原创 2012-08-07 11:28:38 · 4088 阅读 · 0 评论 -
Ext Tree新增节点
前两天做Ext Tree新增节点时花了好长时间才成功在树上增加了新节点,现把Ext Tree新增节点的过程记录下来,作为记念。1、 创建目录结构如下2、 然后分别创建控制器、model、store、view文件,完成之后文件内容如下3、 创建树本身没有什么难度,按Ext例子做就可以了。4、 在新增树节点时,我无论是调用parentNode.appendChild(n原创 2012-07-21 22:33:37 · 7965 阅读 · 3 评论 -
Extjs拖拽
最近项目前台使用Extjs实现,其中用到了Ext的Gridpanel的拖拽,现把相关内容总结,并写成一个例子。本例子使用Extjs4.1的mvc模式实现。第一步搭建程序架构创建index.html文件,创建app.js文件,创建app/model、app/view、app/controller和app/store目录。Index.html的很简单,内容如下:<!DOCTYP原创 2012-07-09 16:32:04 · 7778 阅读 · 0 评论 -
Extjs处理级联数据的统一保存
原始需求:1)有一个两级级联的表格:分组与规则,一个分组下可以有多个规则;2)保存时要统一保存,也就是不能添加一个分组或规则就保存一下,而要到最后点击保存按钮时,把本次所有的修改一次性的提交了。 分析:1) 保存时分组与规则必须关联起来。否则,如果新加两个或多个分组时,新加分组下的规则,因新加分组都没有Id,这些规则会没有办法区分自己属于哪个分组。如新增分组:[{id原创 2013-01-15 14:53:28 · 3016 阅读 · 0 评论