jQuery中RadioButtonList的功能及用法实例介绍
代码分析
代码如下:
$("#<%= 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>");
});