别人做好的是js程序,不过我只能看到结果,我在PHP板块也发了个帖子,现在到js也来求一份程序答谢金额:¥150(支付宝 thx!)问题请参考:
http://topic.csdn.net/u/20110602/23/9b51da14-bf1e-4903-8e10-f80d013da69e.html?34020请使用js 得到我需要的函数之后我会通过支付宝给你表示感谢。
本人还未学习jquery 目前看不懂,所以莫用这个给我答案.

解决方案 »

  1.   

    我问一下,是不是说假如我输入3,就在每个input里面生成value的值为随机不重复的3个数的组合?
    就有25组这样的3位数的组合?
      

  2.   

    有如下数据31,42...更多
    32
    43
    35
    36
    ...
    更多这个数据是用户选择的 也就是 位数和内容是不限制的
    根据上面的数据得到31,32,35,36
    31,32.35,43
    31,32,36,43
    31,35,36,43
    ...这个组合的位数是可控的,例如上面例子的组合是4位,可能我需要的是3位 或者更少的2位所有不重复组合再举个例子01,02
    03,04
    05,06
    07,084位共16种组合
    01+03+05+07
    01+03+05+08
    01+03+06+07
    01+03+06+08
    01+04+05+07
    ...这里例子都是4位的组合,我需要一个函数 能够根据自己需要的位数来得到最后需要的所有不重复组合.我找到一个函数可用,但是他没有实现自定义几位数的所有组合希望能够给到你们帮助
    (function() {
    dwn = function(a) {
    document.writeln(a+"<br />")
    };

    var Cartesian = function(a,b) {
    var ret=[];
    for(var i=0;i<a.length;i++) {
    for(var j=0;j<b.length;j++) {
    ret.push(ft(a[i],b[j]));
    }
    }
    return ret;
    }
    var ft = function(a,b) {
    if(!(a instanceof Array))
    a = [a];
    var ret = Array.call(null,a);
    ret.push(b);
    return ret;
    }

    multiCartesian = function(data) {
    var len = data.length;

    if(len == 0)
    return [];
    else if(len == 1)
    return data[0];
    else {
    var r=data[0];
    for(var i=1;i<len;i++) {
    r=Cartesian(r,data[i]);
    }
    return r;
    }
    }
    })();
      

  3.   

    此帖已结,奖金送出 得奖者 JParser.咔咔...
    代码请参考
    http://topic.csdn.net/u/20110602/23/9b51da14-bf1e-4903-8e10-f80d013da69e.html
      

  4.   

    function combo(m,n){
        var arr=[],sumArr=[],str,isBreak=false;
        for(var i=0;i<m;i++){
            arr.push(0);    
        }
        for(var i=0;i<n;i++){
            arr[i]=1;    
        }
        str=arr.join('');
        while(1){
            var itemArr=[],
                reg=/(.*?)(10)/;
            for(var j=0,len=str.length;j<len;j++){
                str.charAt(j)!="0"&&itemArr.push(j);
            }
            sumArr.push(itemArr);
            if(reg.test(str)){
                str=str.replace(reg,function(l,s1,s2){
                    var num=s1.replace(/0/g,"").length,
                        prefixstr="";
                    for(var i=0,len=s1.length;i<len;i++){
                        prefixstr+=(i<num?'1':'0');    
                    }
                    return prefixstr+"01";
                });
            }else{
                break;    
            }
        }
        return sumArr;
    }function doubleCombo(arr,n){
        var arrLen=arr.length,finalArr=[];
        if(arrLen<n) {
            alert("invalid input!");
            return;
        }
        var comboCol=combo(arrLen,n);//行序号组合数
        for(var i=0,cl=comboCol.length;i<cl;i++){//得到组合的每一项
            var colItem=comboCol[i],items=[[]];
            for(var j=0,il=colItem.length;j<il;j++){
                var data=arr[colItem[j]];
                if(typeof data=="number"){
                    for(var k=0,itemsLen=items.length;k<itemsLen;k++){
                        items[k].push(data);    
                    }    
                }
                else{
                    var mitems=[];
                    for(var m=0;m<items.length;m++){        
                        for(var n=0;n<data.length;n++){
                            var mitem=items[m].concat([]);
                            mitem.push(data[n]);
                            mitems.push(mitem);
                            //console.log(mitem);
                            //console.log(mitems);
                        }    
                    }
                    items=mitems;
                    
                }
            }
            finalArr=finalArr.concat(items);
        }
        return finalArr;
    }
    //下面是调用和结果显示var t=doubleCombo([32,[24,34,43,44,46,47],35,36,42],4)
    for(var k=0,l=t.length;k<l;k++){
        var a=t[k];
        for(var j=0,l2=a.length;j<l2;j++)
            document.write(a[j]+' ');
        document.write('<br/>');
    }
      

  5.   

    由于JParser多次拒绝接受物质感谢。
    我只好向Jparser行礼,再次感谢.
    什么时候想起来要宵夜了记得通知我.
    结贴.