Javascript 如何在QuickBase中使用jQuery填充多维数组
我有一个测试html页面中的代码,可以正常工作。它构建一个NxN多维数组,该数组在构建页面时以QuickBase形式对字段进行分组。以下是填充window.flds数组的代码:Javascript 如何在QuickBase中使用jQuery填充多维数组,javascript,jquery,multidimensional-array,quickbase,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 >
<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>
var flds=[];
函数pushFields(groupIdx、srcVal){
var iGroupIdx=groupIdx+1;
if(iGroupIdx>window.flds.length){
var fldsfloor=window.flds.length;
对于(var i=fldsfloor;i
当我试图将它硬塞进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], "", " ");
}
}
函数加载过程(根,rid){
//…代码在以下情况下才具有相关性:
if(groupx==5){
var processRes=getResults(“abcde1fgh”,“{3.EX.+rid+“}”,“3.102”,“60”);//第一个参数的值为5,第二个参数的值为102。
var ctrl1=“
Date”+addControl(v[3],“Date”,“”,v[102],“”,“”);
}
//…在出现以下情况之前,代码不再相关:
if(groupx==17){
var processRes=getResults(“abcde1fgh”,“{3.EX.“+rid+”}”,“3.101.104”,“60”);//第一个参数的值为17,第二个参数的值为101和104。
var ctrl2=“
FName”+addControl(v[3],“Text”,“”,v[101],“”,“”);
var ctrl3=“
LName”+addControl(v[3]、“Text”、“”、v[104]、“”、“”);
}
//…在出现以下情况之前,代码不再相关:
如果(组3==28){
var processRes=getResults(“abcde1fgh”,“{3.EX.“+rid+”}”,“3.103.105”,“60”);//第一个参数的值为28,第二个参数的值为103和105。
var ctrl4=“
Email”+addControl(v[3]、“Text”、“”、v[103]、“”、“”);
var ctrl5=“
电话”+addControl(v[3]、“Text”、“”、v[105]、“”、“”);
}
}
谢谢大家,我找到了一个解决方案:
pushFields(102,v[3]);