jquery结合javascript实现无限级checkbox的全选与取消
今天一个同事需要实现这么一个效果,于是就测试了一下,中间的逻辑用了狠长时间,不过最终还是搞出来了!代码有点臃肿,没时间优化,有用到类似功能的朋友可以自己优化一下!(需加入自己的jquery文件)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>全选与取消全选</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var checkInfo = function(objname){
var cobjarr;
var pobjarr;
var operate = '_'; //ID连接符
if ( typeof($('#'+objname+operate+'1').attr('id')) !== 'undefined' ){
cobjarr = $('input[id^='+objname+operate+']');
$(cobjarr).each( function(){
$(this).attr('checked',$('#'+objname).attr('checked'));
});
}
if ( objname.indexOf(operate,0) == 1 ){
var newobjarr = objname.split(operate);
var newstr = '';
for ( var i = 0; i < newobjarr.length-1; i++ ){
newstr += newobjarr[i] + operate;
}
pobjarr = $('input[id^='+newstr+']');
j = 0;
$(pobjarr).each( function(){
if ( !$(this).attr('checked') ){
j++;
}
});
var newstr1 = '';
for ( var i = 0; i < newobjarr.length-1; i++ ){
newstr1 += newobjarr[i] + operate;
newstr2 = newstr1.substr(0,newstr1.length-1);
if ( j != 0 ){
$('#'+newstr2).attr('checked',false);
}else{
$('#'+newstr2).attr('checked',true);
相关文档:
记得大一的时候,我们专业开了网页设计这门课程,那时,看着书上的简单几行代码产生的JS特效,很震惊,就喜欢上了js脚本语言,好似人们常说的一见钟情吧。惊艳于她强大的功能。可是,对于js,只能用遗憾来形容当时我的心情。当时,老师只是为赶进度,完成所谓的学院布置的教学任务,坐在多媒体电脑前, ......
以下您可以看到收集的8个实用的 JavaScript 测试及效验工具,它们都可以在不同环境下进行单元测试及校验测试您的脚本。
JSLint
JSLint是基于Web的验证JavaScript错误代码的工具。它拥有的功能及特定的设置来使用您的需求,自定义你的验证算法。
JsUnit
JsUnit是一款在客户端(在浏览时)的单元测试JavaScript框架。对Ja ......
缓存系统我以前在博客写过了,此后我对javascript的哲学发生很大的改变。以前是尽量避免对原型进行扩展的,但反过来一想,有什么关系?除非是傻子或特别菜的人才会混用多个库,能混用库的人也只有高手才能避免命名冲突的尴尬。十大类库中,前面几个都是对原型进行疯狂扩展的。像mootools,代码不多,但能实在比jQuery多许多 ......
http://news.csdn.net/a/20100424/218105.html
JavaScript 的成功让人津津乐道,为 Web 网页编写 JavaScript 代码已经是所有 Web 设计师的基本功,这门有趣的语言蕴藏着许多不为人熟知的东西,即使多年的 JavaScript 程序员,也未能完全吃透。本文从7个方面讲述 JavaScript 中那些你不很熟知但非常实用的技巧。
简略语句
......