- 浏览: 507376 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
ben_wu007:
没数据库设计 而且这样要写代码 还是做成配数据库好 ...
使用AOP做权限控制 -
邢邢色色:
支持楼主,但这本书没有讲trident,有些过时了~到amaz ...
《Storm入门》中文版 -
java_web_hack1:
我在FunctionProvider中,获取的Property ...
在Osworkflow中使用PropertySet存储业务数据 -
greemranqq:
腾飞 ~。~
Java并发和多线程译者征集 -
fantasy:
leonevo 写道hi, 我也在设计cmdb. 我觉得基于传 ...
ITSM-CMDB数据库设计-四种方案任你选
/** * 全选的所有指定名称的checkbox *@state 全选的checkbox的状态 *@name 表格中的所有checkbox的名称 *@author fangtf *@type void */ function selectAll(state,name) { var ids = document.getElementsByName(name); for (var i = 0; i < ids.length; i++) { ids[i].checked = state; } } /** * 全选的所有指定id名称的同名checkbox *@state 全选的checkbox的状态 *@name 表格中的所有checkbox的名称 *@name 表格中的所有checkbox的id *@author fangtf *@type void */ function selectAllCheckboxByID(state,name,id) { var ids = document.getElementsByName(name); for (var i = 0; i < ids.length; i++) { if(ids[i].id == id) { ids[i].checked = state; } } } /** * 全选页面上所有的checkbox *@state 全选的checkbox的状态 *@author fangtf *@type void */ function selectAlls(state) { var inputs = document.getElementsByTagName("input"); for(var i =0;i<inputs.length;i++) { if(inputs[i].type == "checkbox") { inputs[i].checked =state; } } } /** *得到鼠标所单击的行 *@type Object */ function GetRow(oElem) { while (oElem) { if (oElem.tagName.toLowerCase() == "tr" && oElem.parentElement.tagName.toLowerCase() == "tbody") { return oElem; } if (oElem.tagName.toLowerCase() == "table" || oElem.tagName.toLowerCase() == "th") { return false; } oElem = oElem.parentElement; } } /** * 全选当前行的checkbox *@state 全选的checkbox的状态 *@author fangtf *@type void */ function selectRowCheckbox(state) { var row = GetRow(window.event.srcElement); var cells = row.childNodes; for(var i=0;i<cells.length;i++) { var cell = cells[i].childNodes[0]; if(cell.tagName == "INPUT") { cell.checked = state; } } } /** *选中指定值的Radio *如:有两个radio, *第一个的name="ids",value="1" *第二个的name="ids",value="2" *调用方法selectRadio("ids","1"); *那么数值为1的Radio将被选中 *@name radio的名称 *@value radio的值 *@author fangtf *@type void */ function selectRadio(name,value) { var radioObject = document.getElementsByName(name); if(value === "") { radioObject[0].checked = true; return; } for (var i = 0; i < radioObject.length; i++) { if(radioObject[i].value == value) { radioObject[i].checked = true; break; } } } /** *选中指定值的checkbox *如:有两个checkbox, *第一个的name="ids",value="1" *第二个的name="ids",value="2" *第三个的name="ids",value="3" *调用这个方法selectCheckbox("ids","1,2")那么数值为1,2的checkbox将被选中 * *@name 要选中的checkbox数组的名称 *@value 判断时候选中的值 *@author fangtf *@type void */ function selectCheckbox(name,value) { var checkObject = document.getElementsByName(name); var values = value.split(","); for(var j = 0; j < values.length; j++) { for (var i = 0; i < checkObject.length; i++) { if(checkObject[i].value == values[j]) { checkObject[i].checked = true; break; } } } } /** *选中指定值的select *如:有一个名称为user的select *<option value="0"></option> *<option value="1"></option> *调用这个方法selectOption("user","0")那么选项为0的选项就被选中 * *@name String select的名称 *@value String 判断时候选中的值 *@author fangtf *@type void */ function selectOption(name,value) { document.getElementsByName(name)[0].value=value; }
评论
18 楼
fantasy
2007-04-18
loocoo 写道
/** * 全选的所有指定id名称的同名checkbox *@state 全选的checkbox的状态 *@name 表格中的所有checkbox的名称 *@name 表格中的所有checkbox的id *@author fangtf *@type void */ function selectAllCheckboxByID(state,name,id) { var ids = document.getElementsByName(name); for (var i = 0; i < ids.length; i++) { if(ids[i].id == id) { ids[i].checked = state; } } }
这个没有意思吧,html里的id应该是唯一的
17 楼
loocoo
2007-04-16
/** * 全选的所有指定id名称的同名checkbox *@state 全选的checkbox的状态 *@name 表格中的所有checkbox的名称 *@name 表格中的所有checkbox的id *@author fangtf *@type void */ function selectAllCheckboxByID(state,name,id) { var ids = document.getElementsByName(name); for (var i = 0; i < ids.length; i++) { if(ids[i].id == id) { ids[i].checked = state; } } }
这个没有意思吧,html里的id应该是唯一的
16 楼
A_Bing
2007-04-15
收藏下.. js 是一门很有意思的语言
15 楼
wjtang
2006-12-21
Thank very much
14 楼
fantasy
2006-12-18
j2eeqk 写道
这些非常简单的一般性的算法我觉得贴在这里意义不大。
其实很多地方你都没有考虑到效率的问题,而且很多function对象,有时候并不需要按照你函数规定的形式参数来传值。举个最简单的例子,你有一组checkbox,然后用'1,2'一串值,让对应的checkbox符合这个值的被选中。你考虑过你的循环执行次数吗?是先执行'1,2'.split后的循环还是先开始checkbox组的循环?每次循环后你考虑过用slice来剔除掉已经循环过的元素提高效率吗?
其实很多地方你都没有考虑到效率的问题,而且很多function对象,有时候并不需要按照你函数规定的形式参数来传值。举个最简单的例子,你有一组checkbox,然后用'1,2'一串值,让对应的checkbox符合这个值的被选中。你考虑过你的循环执行次数吗?是先执行'1,2'.split后的循环还是先开始checkbox组的循环?每次循环后你考虑过用slice来剔除掉已经循环过的元素提高效率吗?
首先感谢你的回帖!
接下来回答你的问题。
首先我贴这个帖子的目的是为了避免大家重复造轮子,这个也是开源的目的之一,而且有你这样好的回帖也是意义之一,集思广益。
至于效率方面,我很赞同你的说法,我考虑得不是很全面。
13 楼
j2eeqk
2006-12-16
这些非常简单的一般性的算法我觉得贴在这里意义不大。
其实很多地方你都没有考虑到效率的问题,而且很多function对象,有时候并不需要按照你函数规定的形式参数来传值。举个最简单的例子,你有一组checkbox,然后用'1,2'一串值,让对应的checkbox符合这个值的被选中。你考虑过你的循环执行次数吗?是先执行'1,2'.split后的循环还是先开始checkbox组的循环?每次循环后你考虑过用slice来剔除掉已经循环过的元素提高效率吗?
其实很多地方你都没有考虑到效率的问题,而且很多function对象,有时候并不需要按照你函数规定的形式参数来传值。举个最简单的例子,你有一组checkbox,然后用'1,2'一串值,让对应的checkbox符合这个值的被选中。你考虑过你的循环执行次数吗?是先执行'1,2'.split后的循环还是先开始checkbox组的循环?每次循环后你考虑过用slice来剔除掉已经循环过的元素提高效率吗?
12 楼
xlincn
2006-12-07
常用的:
var area_e = document.getElementById("table_area"); var areaArray =new Array("安徽","北京","福建","甘肃","广东","广西","贵州","海南","河北","河南","黑龙江","湖北","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山东","山西","陕西","上海","四川","天津","西藏","新疆","云南","浙江","重庆"); area_tbody_e = document.createElement("tbody"); for(i=0;i<areaArray.length;i++){ tr_e= document.createElement("tr"); td_e = document.createElement("td"); td_e.innerHTML ="<input type='checkbox' name='area' value='"+areaArray[i]+"'>"+areaArray[i]+"</input>" ; tr_e.appendChild(td_e); area_tbody_e.appendChild(tr_e); } area_e.appendChild(area_tbody_e);
11 楼
shuren
2006-12-04
fantasy 写道
moogle 写道
function selectOption(name,value) { var options = document.getElementsByName(name)[0].options; for (var i = 0; i < options.length; i++) { if(options[i].value === value) { options[i].selected = true; break; } } }
可以修改为:
function selectOption(name,value) { document.getElementsByName(name).value=value; }
可以达到同样的效果,直接指定select选中对应的值
对!已经修改过来了!
应该改为
function selectOption(name,value)
{
document.getElementsByName(name)[0].value=value;
}
10 楼
logicgate
2006-12-04
Object.prototype.clone = function() { if(typeof(this) != "object") return this; var $cloneDepth = (arguments.length >= 1) ? ((isNaN(parseInt(arguments[0]))) ? null : parseInt(arguments[0])) : null; if($cloneDepth) $cloneDepth = ($cloneDepth <= 0) ? null : $cloneDepth; var $cloneObject = null; var $thisConstructor = this.constructor; var $thisConstructorPrototype = $thisConstructor.prototype; if($thisConstructor == Array) $cloneObject = new Array(); else if($thisConstructor == Object) $cloneObject = new Object(); else { try { $cloneObject = new $thisConstructor; } catch(e) { $cloneObject = new Object(); $cloneObject.constructor = $thisConstructor; $cloneObject.prototype = $thisConstructorPrototype; } } var $propertyName = ""; var $newObject = null; for($propertyName in this) { $newObject = this[$propertyName]; if(!$thisConstructorPrototype[$propertyName]) { if(typeof($newObject) == "object") { if($newObject === null) $cloneObject[$propertyName] = null; else { if($cloneDepth) { if($cloneDepth == 1) $cloneObject[$propertyName] = $newObject; else $cloneObject[$propertyName] = $newObject.clone(--$cloneDepth); } else $cloneObject[$propertyName] = $newObject.clone(); } } else $cloneObject[$propertyName] = $newObject; } } return $cloneObject; } Array.prototype.addAll = function($array) { if($array == null || $array.length == 0) return; for(var $i=0; $i<$array.length; $i++) this.push($array[$i]); } Array.prototype.contains = function($value) { for(var $i=0; $i<this.length; $i++) { var $element = this[$i]; if($element == $value) return true; } return false; } Array.prototype.indexOf = function($value) { for(var $i=0; $i<this.length; $i++) { if(this[$i] == $value) return $i; } return -1; } Array.prototype.insertAt = function($value, $index) { if($index < 0) this.unshift($value); else if($index >= this.length) this.push($value); else this.splice($index, 0, $value); } Array.prototype.remove = function($value) { var $index = this.indexOf($value); if($index != -1) this.splice($index, 1); } Array.prototype.removeAll = function() { while(this.length > 0) this.pop(); } Array.prototype.replace = function($oldValue, $newValue) { for(var $i=0; $i<this.length; $i++) { if(this[$i] == $oldValue) { this[$i] = $newValue; return; } } } Array.prototype.swap = function($a, $b) { if($a == $b) return; var $tmp = this[$a]; this[$a] = this[$b]; this[$b] = $tmp; } String.prototype.splitAndTrim = function($delimiter, $limit) { var $ss = this.split($delimiter, $limit); for(var $i=0; $i<$ss.length; $i++) $ss[$i] = $ss[$i].trim(); return $ss; } String.prototype.lTrim = function() { var $whitespace = new String(" \t\n\r"); if($whitespace.indexOf(this.charAt(0)) != -1) { var $i = this.length; var $j = 0; while($j < $i && $whitespace.indexOf(this.charAt($j)) != -1) $j++; return this.substring($j, $i); } return new String(this); } String.prototype.rTrim = function() { var $whitespace = new String(" \t\n\r"); if($whitespace.indexOf(this.charAt(this.length - 1)) != -1) { var $i = this.length - 1; while($i >= 0 && $whitespace.indexOf(this.charAt($i)) != -1) $i--; return this.substring(0, $i + 1); } return new String(this); } String.prototype.trim = function() { return this.lTrim().rTrim(); }
9 楼
seething
2006-12-03
已收藏,谢谢!
8 楼
fantasy
2006-11-30
moogle 写道
function selectOption(name,value) { var options = document.getElementsByName(name)[0].options; for (var i = 0; i < options.length; i++) { if(options[i].value === value) { options[i].selected = true; break; } } }
可以修改为:
function selectOption(name,value) { document.getElementsByName(name).value=value; }
可以达到同样的效果,直接指定select选中对应的值
对!已经修改过来了!
7 楼
moogle
2006-11-30
function selectOption(name,value) { var options = document.getElementsByName(name)[0].options; for (var i = 0; i < options.length; i++) { if(options[i].value === value) { options[i].selected = true; break; } } }
可以修改为:
function selectOption(name,value) { document.getElementsByName(name).value=value; }
可以达到同样的效果,直接指定select选中对应的值
6 楼
fantasy
2006-11-30
/**
*得到现在的日期
*
*@author fangtf
*@type string
*/
function getNowTime()
{
var date = new Date();
var d= date.getDate();
var day = (d < 10) ? '0' + d : d;
var m = date.getMonth() + 1;
var month = (m < 10) ? '0' + m : m;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;
var hh = date.getHours();
var hh = (hh < 10) ? '0' + hh : hh;
var mm = date.getMinutes();
var mm = (mm < 10) ? '0' + mm : mm;
return (year + "-" + month + "-" +day+" "+hh+":"+mm);
}
*得到现在的日期
*
*@author fangtf
*@type string
*/
function getNowTime()
{
var date = new Date();
var d= date.getDate();
var day = (d < 10) ? '0' + d : d;
var m = date.getMonth() + 1;
var month = (m < 10) ? '0' + m : m;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;
var hh = date.getHours();
var hh = (hh < 10) ? '0' + hh : hh;
var mm = date.getMinutes();
var mm = (mm < 10) ? '0' + mm : mm;
return (year + "-" + month + "-" +day+" "+hh+":"+mm);
}
5 楼
wujietai
2006-11-29
oznyang 写道
半抄半改的一个js,css动态加载函数,可防止重复加载
function $import(path,type,title){
var s,i;
if(!type)type=path.substr(path.lastIndexOf(".")+1);
if(type=="js"){
var ss=document.getElementsByTagName("script");
for(i=0;i<ss.length;i++){
if(ss[i].src && ss[i].src.indexOf(path)!=-1 || ss[i].title==title)return ss[i];
}
s=document.createElement("script");
s.type="text/javascript";
s.src=path;
if(title)s.title=title;
}else if(type=="css"){
var ls=document.getElementsByTagName("link");
for(i=0;i<ls.length;i++){
if(ls[i].href && ls[i].href.indexOf(path)!=-1 || ls[i].title==title)return ls[i];
}
s=document.createElement("link");
s.rel="stylesheet";
s.type="text/css";
s.href=path;
if(title)s.title=title;
s.disabled=false;
}
else return;
var head=document.getElementsByTagName("head")[0];
head.appendChild(s);
return s;
}
请问可不可以防止刷新的?
function $import(path,type,title){
var s,i;
if(!type)type=path.substr(path.lastIndexOf(".")+1);
if(type=="js"){
var ss=document.getElementsByTagName("script");
for(i=0;i<ss.length;i++){
if(ss[i].src && ss[i].src.indexOf(path)!=-1 || ss[i].title==title)return ss[i];
}
s=document.createElement("script");
s.type="text/javascript";
s.src=path;
if(title)s.title=title;
}else if(type=="css"){
var ls=document.getElementsByTagName("link");
for(i=0;i<ls.length;i++){
if(ls[i].href && ls[i].href.indexOf(path)!=-1 || ls[i].title==title)return ls[i];
}
s=document.createElement("link");
s.rel="stylesheet";
s.type="text/css";
s.href=path;
if(title)s.title=title;
s.disabled=false;
}
else return;
var head=document.getElementsByTagName("head")[0];
head.appendChild(s);
return s;
}
在提交数据时。。。。
4 楼
oznyang
2006-11-29
半抄半改的一个js,css动态加载函数,可防止重复加载
function $import(path,type,title){
var s,i;
if(!type)type=path.substr(path.lastIndexOf(".")+1);
if(type=="js"){
var ss=document.getElementsByTagName("script");
for(i=0;i<ss.length;i++){
if(ss[i].src && ss[i].src.indexOf(path)!=-1 || ss[i].title==title)return ss[i];
}
s=document.createElement("script");
s.type="text/javascript";
s.src=path;
if(title)s.title=title;
}else if(type=="css"){
var ls=document.getElementsByTagName("link");
for(i=0;i<ls.length;i++){
if(ls[i].href && ls[i].href.indexOf(path)!=-1 || ls[i].title==title)return ls[i];
}
s=document.createElement("link");
s.rel="stylesheet";
s.type="text/css";
s.href=path;
if(title)s.title=title;
s.disabled=false;
}
else return;
var head=document.getElementsByTagName("head")[0];
head.appendChild(s);
return s;
}
function $import(path,type,title){
var s,i;
if(!type)type=path.substr(path.lastIndexOf(".")+1);
if(type=="js"){
var ss=document.getElementsByTagName("script");
for(i=0;i<ss.length;i++){
if(ss[i].src && ss[i].src.indexOf(path)!=-1 || ss[i].title==title)return ss[i];
}
s=document.createElement("script");
s.type="text/javascript";
s.src=path;
if(title)s.title=title;
}else if(type=="css"){
var ls=document.getElementsByTagName("link");
for(i=0;i<ls.length;i++){
if(ls[i].href && ls[i].href.indexOf(path)!=-1 || ls[i].title==title)return ls[i];
}
s=document.createElement("link");
s.rel="stylesheet";
s.type="text/css";
s.href=path;
if(title)s.title=title;
s.disabled=false;
}
else return;
var head=document.getElementsByTagName("head")[0];
head.appendChild(s);
return s;
}
3 楼
独孤蟹
2006-11-28
呵呵,不错.
2 楼
yeafee
2006-11-07
提议不错.值得注意.
1 楼
inprise_lyj
2006-11-07
还可以。
发表评论
-
《Storm入门》中文版
2014-05-28 12:38 2292本文翻译自《Getting Star ... -
Opencomet之Pigeon协议详解
2011-06-24 13:06 1921Opencomet 是一个开源的长连接服务器(尚在开发当中) ... -
如何学习开源框架?
2010-10-22 09:35 4456作者:kiral 链接地址:http://kiral. ... -
提速持久层开发-基于spring的CRUD组件(开源)
2007-06-29 18:35 5139前提: 这个组件是基于Spring的getJdbcTempl ... -
页面生成系统1.0-使用指南(开源)
2007-04-04 18:06 4539出场告白: 这是一个通过配置一个 ... -
提速web开发-页面生成系统1.0(开源)
2007-04-04 18:10 3140出场告白: 这是一个通过配置一个j ... -
页面正在加载组件-2.0(开源)
2007-04-04 10:16 7888作者:kiral,http://fantasy.iteye.c ... -
163邮箱的菜单组件(开源)
2007-04-02 11:27 10547作者:kiral 原文链接: http://fanta ... -
页面正在加载组件 (开源)
2007-04-02 10:53 14618作者:kiral,http://fantasy.itey ...
相关推荐
一些公用的javascript函数(希望大家一起开源).txt一些公用的javascript函数(希望大家一起开源).txt一些公用的javascript函数(希望大家一起开源).txt一些公用的javascript函数(希望大家一起开源).txt一些公用的...
一些公用的javascript函数,是非常不错的,程序员必备
常用js代码公用方法
该类库主要为DotNet开发提供各类功能性的函数,加速项目开发 其中有基本数据的转换和检验、B/S架构的文件操作、js代码生成调用,上传图片的操作 数据图标的生成、各类数据库连接及CURD操作、SQL数据库的安装 office...
webgl编程指南中的4个公用函数库,希望能够帮到刚接触webgl的童鞋们
提供c#中一些常用函数,方便用户查找相关方法。
webgl编程指南 公用函数库cuon-matrix.js/cuon-utils.js/webgl-debug.js/webgl-utils.js
cuon-matrix.js,cuon-utils.js,webgl-debug.js,webgl-utils.js
delphi高程公用函数
收录TIPTOP中所涉及到的相关函数,本人在使用过程中获益颇多,这里与同道中的朋友共同分享,希望大家也能获益!
webgl编程指南中的4个公用函数库,希望能够帮助跟我一样到刚接触webgl的筒子们
通过下载其他资源发现在新的flash10插件下均有错误,fancyupload插件,修改错误实现实现多个文件公用一个file上传,后台代码采用php,可以是jsp或asp等。
JS公共函数JS公共函数JS公共函数JS公共函数JS公共函数JS公共函数JS公共函数JS公共函数JS公共函数
公用函数,MUSIC算法的各种公用函数,包括精度和误差矩阵等
四川BOSS系统公用JavaScript验证功能说明.chm
包含cuon-matrix.js,cuon-utils.js,webgl-debug.js,webgl-utils.js这几个公用函数库
模块11公用函数.bas
系统公用函数及过程 ①: 扩展的字符串操作函数 ②: 扩展的日期时间操作函数 ③: 扩展的位操作函数 ④: 扩展的文件及目录操作函数 ⑤: 扩展的对话框函数 ⑥: 系统功能函数 ⑦: 硬件功能函数 ⑧: 网络...
function CapitalizeMoney(aMoney: Double; aIsUnit: Boolean; var oMoneyStr: string): string; //小写人民币转换成大写人民币 function IsExistForm(aFormObject: string): Boolean; //查询窗体是否存在 ...