有3组复选框.
比如:如果选择了3组复选框中每个都选择一个,就把三个的值都输出出来.
如果第一组选了2个那么,其余2个都只选一个.
那么出现第一组第一个数据和第二个数据分别于第二组和第三组数据匹配.
如果都选择了 就出现27个结果..
这个能不能给点思路啊QAQ...
谢谢.
var len = arr.length;
var results = [];
var indexs = {};
function specialSort(start) {
start++;
if (start > len - 1) {
return;
}
if (!indexs[start]) {
indexs[start] = 0;
}
if (!(arr[start] instanceof Array)) {
arr[start] = [arr[start]];
}
for (indexs[start] = 0; indexs[start] < arr[start].length; indexs[start]++) {
specialSort(start);
if (start == len - 1) {
var temp = [];
for (var i = len - 1; i >= 0; i--) {
if (!(arr[start - i] instanceof Array)) {
arr[start - i] = [arr[start - i]];
}
temp.push(arr[start - i][indexs[start - i]]);
}
results.push(temp);
}
}
}
在网上找的解决方式. 主要先要找出所有的被选复选,组成一个二维数组,再用这个方法解决...