Posted in Javascript onAugust 23, 2013
代码分析
$("#<%= ibSubmit.ClientID%>").click(function() { var flag = true; //alert($("table[id^=ctl]").length); //创建一个checked的arr数组,用于存储每个radiobutton的checked情况 var arr = new Array; $("table[id^=ctl] input[type=radio]").each(function(i) { arr.push(this.checked); }); //然后再创建一个arrTrue数组,用于过滤false的arr数组 var arrTrue = new Array; $.each(arr, function(i) { if (arr[i] == true) { arrTrue.push(arr[i]); } }); //当然也可以用grep函数,来简化过滤arr数组操作 //arr = $.grep(arr, function(n, i) { //return n == true; //}); var groupLen = Math.floor($("table[id^=ctl]").length + 1 / 3); //最后,简单一点吧,只有判断arrTrue的长度是否为11,就可以。 //因为是一共33个radiobutton,每3个为一组,规则又是一组中3选1, //所以全部选择肯定有11个radiobutton被选中。 if (arrTrue.length != groupLen) { flag = false; } return false; });
完整代码
$(function() { $("#<%= ibSubmit.ClientID%>").click(function() { var flag = true; var arr = new Array; $("table[id^=ctl] input[type=radio]").each(function(i) { arr.push(this.checked); }); arr = $.grep(arr, function(n) { return n == true; }); var groupLen = Math.floor($("table[id^=ctl]").length + 1 / 3); if (arr.length != groupLen) { flag = false; } return false; }); });
最后附上生成Table代码:(两种生成方法,JQuery版本,C#版本) ? (可看可不看)
jQuery版本
var array = ["XXXX",""XXXX","XXX"]; $.each(array, function(i) { table.append("<tr><td>"+ "<input id='cbl_" + i + "'" + " type='checkbox' title='" + array[0] + "' />" + "</td></tr>"); });
jQuery中RadioButtonList的功能及用法实例介绍
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@