如何在QuickBase中使用jQuery填充多维数组

时间:2013-07-30 22:33:37

标签: javascript jquery multidimensional-array quickbase

我在测试html页面中有代码可以正常工作。它构建了一个NxN多维数组,在构建页面时对QuickBase表单中的字段进行分组。以下是填充window.flds数组的代码:

<script type="text/javascript">
    var flds = [];
    function pushFields(groupIdx,srcVal){
        var iGroupIdx = groupIdx+1;
        if(iGroupIdx > window.flds.length){
            var fldsfloor = window.flds.length;
            for(var i = fldsfloor; i < iGroupIdx; i++){
                if(!window.flds[i]){
                    window.flds[i] = [];
                }
            }
        }
        var j = window.flds[groupIdx].length;
        window.flds[groupIdx][ j ] = srcVal;
    }
    //dummy code to populate window.flds manually:
    pushFields(17,101);
    pushFields(17,104);
    pushFields(5,102);
    pushFields(28,103);
    pushFields(28,105);
</script>

当我尝试将其装入QuickBase模板时,它不起作用。 QuickBase使用jQuery来构建字段。如何从jQuery调用JavaScript函数pushFields(x,y):

function loadProcess(root, rid) {
    //... code doesn't get relevant until here:
    if(groupx == 5){
        var processRes = getResults("abcde1fgh", "{3.EX." + rid + "}", "3.102", "60");//the value of 3 would be 5 for the first parameter, and 102 would be the second parameter.
        var ctrl1 = "<br /> Date" + addControl(v[3], "Date", "", v[102], "", " ");
    }
    //... code doesn't get relevant again until here:
    if(groupx == 17){
        var processRes = getResults("abcde1fgh", "{3.EX." + rid + "}", "3.101.104", "60");//the value of 3 would be 17 for the first parameter, and 101 and 104 would be the second parameter.
        var ctrl2 = "<br /> FName" + addControl(v[3], "Text", "", v[101], "", " ");
        var ctrl3 = "<br /> LName" + addControl(v[3], "Text", "", v[104], "", " ");
    }
    //... code doesn't get relevant again until here:
    if(group3 == 28){
        var processRes = getResults("abcde1fgh", "{3.EX." + rid + "}", "3.103.105", "60");//the value of 3 would be 28 for the first parameter, and 103 and 105 would be the second parameter.
        var ctrl4 = "<br /> Email" + addControl(v[3], "Text", "", v[103], "", " ");
        var ctrl5 = "<br /> Phone" + addControl(v[3], "Text", "", v[105], "", " ");
    }
}

1 个答案:

答案 0 :(得分:0)

谢谢大家,我能够找到解决方案:

                pushFields(102,v[3]);