您的位置:

首页 >

网络编程 >

jquery复选框全选/取消示例 >

jquery复选框全选/取消示例

2016-05-01 02:23:04

分类:网络编程

功能:a:实现点击复选框的时候全选所有的子复选框,再点击取消所有复选框的选中状态b:有一个子复选框选中则父复选框选中 所有子复选框都不选中则父复选框不选中复制代码 代码如下:/** * 全选函数 * @param mainId 主复选框id * @param klass 下属复选框的class */function selectAll(mainId,klass){ $("." + klass).each(function(){     if($("#" + mainId).attr("checked")== "checked"){      $(this).attr("checked", "checked");     }     else{      $(this).removeAttr("checked");     } });}以上实现全选及全部取消 所有子复选框,至于数据的实现则在控制器里接收到复选框的数组即可复制代码 代码如下:/** * 子复选框有一个选中 父复选框就选中 <br>子复选框全不选 父复选框不选中 * @param father 父复选框的id * @param son 子复选框的class */function checkSonCheckBox(father,son){ $("."+son).click(function(){  if($(this).attr("checked")== "checked"){   $(this).addClass("checked");  }else{   $(this).removeClass("checked");  }  if($("."+son).hasClass("checked")){   $("#"+father).attr("checked","checked");//   console.log("至少有一个子复选框选中!");  }else{   $("#"+father).removeAttr("checked");//   console.log("所有子复选框都未选中!

相信大家在做Extjs开发的时候都使用过类似下面的代码:         复制代码 代码如下: var form_pz = new Ext.form.FormPanel({ id: "form_pz", region: "center", labelAlign: "right", lazyRender: true, frame: true, items: [{ xtype: "combo", fieldLabel: "产品名称", id: "CPMC", allowBlank: false, store: new Ext.data.SimpleStore({//store的定义}), displayField: "CPMC_BBH", valueField: "ID", anchor: "100%", mode: "local", triggerAction: "all", readOnly: true, typeAhead: true,       }]       });       var data = [];//里面定义任意数据       Ext.getCmp("Store_id").load(data);     此时对这个下拉框以下操作的时候,即让它默认选中Store中第一行数据: 复制代码 代码如下:      var record= Ext.getCmp("CPMC").getStore().getAt(0);      var value = record.get("ID");      Ext.getCmp("CPMC").setValue(value);     以上是主要程序,这样运行以后,下拉框是不会自动选中的, 然而把Store单独拿出来定义: 复制代码 代码如下:     var Strore_CPMC = new Ext.data.SimpleStore({//定义});     Strore_CPMC.load(data);     var record= Ext.getCmp("CPMC").getStore().getAt(0);      var value = record.get("ID");     Ext.getCmp("CPMC").setValue(value);     下拉框就会自动选择store中的第一行数据,其实在其他的方法也存在类似的问题,不知道这是什么原因。望各位朋友指教。

indexOf 返回元素在数组的索引,没有则返回-1。与string的indexOf方法差不多。 如果其他浏览器没有实现此方法,可以用以下代码实现兼容: 复制代码 代码如下: Array.prototype.indexOf = function(el, start) {     var start = start || 0;     for ( var i=0; i < this.length; ++i ) {         if ( this[i] === el ) {             return i;         }     }     return -1; }; var array = [2, 5, 9]; var index = array.indexOf(2); // index is 0 index = array.indexOf(7); // index is -1 lastIndexOf 与string的lastIndexOf方法差不多。 如果其他浏览器没有实现此方法,可以用以下代码实现兼容: 复制代码 代码如下: Array.prototype.indexOf = function(el, start) {     var start = start || 0;     for ( var i=0; i < this.length; ++i ) {         if ( this[i] === el ) {             return i;         }     }     return -1; }; forEach 各类库中都实现相似的each方法。 如果其他浏览器没有实现此方法,可以用以下代码实现兼容: 复制代码 代码如下: Array.prototype.forEach = function(fn, thisObj) {     var scope = thisObj || window;     for ( var i=0, j=this.length; i < j; ++i ) {         fn.call(scope, this[i], i, this);     } }; function printElt(element, index, array) {     print("[" + index + "] is " + element); // assumes print is already defined } [2, 5, 9].forEach(printElt); // Prints: // [0] is 2 // [1] is 5 // [2] is 9 every 如果数组中的每个元素都能通过给定的函数的测试,则返回true,反之false。换言之给定的函数也一定要返回true与false 如果其他浏览器没有实现此方法,可以用以下代码实现兼容: 复制代码 代码如下: Array.prototype.every = function(fn, thisObj) {     var scope = thisObj || window;     for ( var i=0, j=this.length; i < j; ++i ) {         if ( !fn.call(scope, this[i], i, this) ) {             return false;         }     }     return true; }; function isBigEnough(element, index, array) {   return (element <= 10); } var passed = [12, 5, 8, 130, 44].every(isBigEnough); // passed is false passed = [12, 54, 18, 130, 44].every(isBigEnough); // passed is true some 类似every函数,但只要有一个通过给定函数的测试就返回true。 如果其他浏览器没有实现此方法,可以用以下代码实现兼容: 复制代码 代码如下: Array.prototype.some = function(fn, thisObj) {     var scope = thisObj || window;     for ( var i=0, j=this.length; i < j; ++i ) {         if ( fn.call(scope, this[i], i, this) ) {             return true;         }     }     return false; }; function isBigEnough(element, index, array) {   return (element >= 10); } var passed = [2, 5, 8, 1, 4].some(isBigEnough); // passed is false passed = [12, 5, 8, 1, 4].some(isBigEnough); // passed is true filter 把符合条件的元素放到一个新数组中返回。 如果其他浏览器没有实现此方法,可以用以下代码实现兼容: 复制代码 代码如下: Array.prototype.filter = function(fn, thisObj) {     var scope = thisObj || window;     var a = [];     for ( var i=0, j=this.length; i < j; ++i ) {         if ( !fn.call(scope, this[i], i, this) ) {             continue;         }         a.push(this[i]);     }     return a; }; function isBigEnough(element, index, array) {   return (element <= 10); } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); map 让数组中的每一个元素调用给定的函数,然后把得到的结果放到新数组中返回。。 如果其他浏览器没有实现此方法,可以用以下代码实现兼容: 复制代码 代码如下: Array.prototype.map = function(fn, thisObj) {     var scope = thisObj || window;     var a = [];     for ( var i=0, j=this.length; i < j; ++i ) {         a.push(fn.call(scope, this[i], i, this));     }     return a; }; <div id="highlighter_240589"> var numbers = [1, 4, 9]; var roots = numbers.map(Math.sqrt); // roots is now [1, 2, 3] // numbers is still [1, 4, 9] reduce 让数组元素依次调用给定函数,最后返回一个值,换言之给定函数一定要用返回值。 如果其他浏览器没有实现此方法,可以用以下代码实现兼容: 复制代码 代码如下: Array.prototype.reduce = function(fun /*, initial*/) {   var len = this.length >>> 0;   if (typeof fun != "function")     throw new TypeError();   if (len == 0 && arguments.length == 1)     throw new TypeError();   var i = 0;   if (arguments.length >= 2){     var rv = arguments[1];   } else{     do{       if (i in this){         rv = this[i++];         break;       }       if (++i >= len)         throw new TypeError();     }while (true);   }   for (; i < len; i++){     if (i in this)       rv = fun.call(null, rv, this[i], i, this);   }   return rv; }; 复制代码 代码如下: var total = [0, 1, 2, 3].reduce(function(a,

模仿Flash AS效果的导航菜单 <!-- a:link,a:visited { text-decoration: none; color: #666666 } a:hover { text-decoration: underline } #hor1 { position:absolute; left:320px; top:20px; width:220px; height:20px; z-index:1; background-color: #999900; } #hor2 { position:absolute; left:320px; top:40px; width:220px; height:20px; z-index:2; background-color: #FFCC00; } #hor3 { position:absolute; left:320px; top:60px; width:220px; height:20px; z-index:3; background-color: #99CC00; } #board1 { position:absolute; left:320px; top:40px; width:220px; height:120px; z-index:-100; background-color: #333333; visibility: hidden; } body,td,th { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #FFFFFF; font-weight: bold; } body { background-color: #666666; } #board2 { position:absolute; left:320px; top:60px; width:220px; height:120px; z-index:-90; background-color: #333333; visibility: hidden; } #board3 { position:absolute; width:220px; height:120px; z-index:-80; left: 320px; top: 80px; background-color: #333333; visibility: hidden; } #hor4 { position:absolute; left:320px; top:80px; width:220px; height:20px; z-index:4; background-color: #99CCCC; } #board4 { position:absolute; left:320px; top:100px; width:220px; height:120px; z-index:-70; background-color: #333333; visibility: hidden; } --> lastNo=0 function re(menu_no){ if(lastNo!=menu_no){ cur=menu_no+1 lastNo=menu_no rest() }else{ cur=100 } document.getElementById("board"+menu_no).style.visibility="visible" } function rest(){ for(i=1;i<=4;i++){ document.getElementById("hor"+i).style.top=20*i; document.getElementById("board"+i).style.visibility="hidden" } menu_num=4; act=1 height=120+20 speed=0; posY=0; } function huke(){ if(act==1&&cur<100){ speed=(height-posY)*0.69+speed*0.6 posY+=speed for(i=cur;i<=menu_num;i++){ document.getElementById("hor"+i).style.top=posY+(i-2)*20 } if(Math.abs(height-posY)<0.5){ for(i=cur;i<=menu_num;i++){ document.getElementById("hor"+i).style.top=height+(i-2)*20 } act=0 } setTimeout("huke()",50) } } News Populor Sports Woman 1.由AS而想起Javascript2.用Jscript写ASP有没有先天性的不足?3.没有了。 1.xhtml+css真的来了吗?2.Flash取代传统网站3.Flash何时才能连接数据库? 1.程序员与小姐的10个相同。2.中国的程序员与中国的足球? 1.二十一世纪最缺的是什么?人才 http://linkweb.cn/js" target="_blank">http://linkweb.cn/js [Ctrl+A 全选 注:

window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,不过一般用来的是打开新窗口,因为修改原来的网页地址,可以有另一个函数,那就是window.location,他可以重定向网页地址,使网页跳转到另一个页面。 我现在要说的是window.open函数的几个使用策略,一般情况下,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,认为你将弹出广告等用户不想得到的窗体,所以如果不想让浏览器拦截你,你可以将这个函数改为用户点击时触发,这样浏览器就认为是用户想访问这个页面,而不是你直接弹出给用户。 所以常用的方法就是在超链接里加入onclick事件,如<a href="javascript:void(0)" onclick="window.open()"></a>这样用户点击这个超链接,浏览器会认为它是打开一个新的链接,所以就不会拦截。 可是有时候我们会遇到想要弹出一个窗口,可是却是在onckick事件执行后,才去弹出来的,这时就会被浏览器拦截,我们可以通过下面的方法来避免,就是先用window.open打开一个窗口,然后修改地址。如var tempwindow=window.open('_blank');打开一个窗口,然后用tempwindow.location='http://www.baidu.com';使这个窗口跳转到百度,这样就会呈现弹出百度窗口的效果了。

焦点访谈

最新最热的文章

更多 >

COPYRIGHT (©) 2017 Copyright ©2017 5060网址大全 网站地图

联系我们

827570882

扫描二维码分享到微信