这是原始代码,当页面加载的时候,读取cookie,如果cookie没有值就加载默认的数组。
原始的代码是没有错误的,代码是网络中找的。Object.addEvent(window, ["onload"], function () {
var wc = new CDrag,
json = /CDrag=([^;]+)(?:;|$)/.test(document.cookie) ? eval('(' + unescape(RegExp.$1) + ')') : [
{
cols : "mold_1", rows : ["url_1_1", "url_1_2", "url_1_3", "url_1_4"]
},
{
cols : "mold_2", rows : ["url_2_1", "url_2_2","url_3_2", "url_2_3", "url_2_4"]
},
{
cols : "mold_3", rows : ["url_3_1", "url_3_3", "url_3_4"]
},
{
cols : "mold_4", rows : ["url_4_1", "url_4_2", "url_4_3", "url_4_4"]
}
];
wc.parse(json);
wc = null;
});现在问题是:这个加载的数组我需要动态生成,就是那些id都是动态的,我应该怎么写这个数组?
我自己也写了一个,可是总是不对。
这是我写的: function getListID()
{
var obj=Default3.reidTb(); //返回一个栏目dataTable
var ds=obj.value;
var tbl = ds;
var rowsTxt;
var a=[];
for(i=0;i<tbl.Rows.length;i++)
{
var obj2=Default3.reidArr(tbl.Rows[i]["id"]); // 根据栏目id返回一个新的数据dataTable var tbl2=obj2.value;
for(j=0;j<tbl2.Rows.length;j++)
{
if(rowsTxt=="")
{
rowsTxt="url_"+tbl.Rows[i]["id"]+"_"+tbl2.Rows[j]["id"]; //这里是想绑定成为 url_4_1 这样的效果,4 是栏目id,
}
else
{
rowsTxt=rowsTxt+",";
rowsTxt="url_"+tbl.Rows[i]["id"]+"_"+tbl2.Rows[j]["id"];
}
}
a[i] = "{cols:'mold_" + tbl.Rows[i]["id"] + "',rows:[" + rowsTxt + "]}"; }
}
return a; //返回数组 这么写对吗??? }
Object.addEvent(window, ["onload"], function () {
var wc = new CDrag,
json = /CDrag=([^;]+)(?:;|$)/.test(document.cookie) ? eval('(' + unescape(RegExp.$1) + ')') : [
getListID() // 这里我也不知道该怎么写才能返回一个数组
];
wc.parse(json);
wc = null;
});
原始的代码是没有错误的,代码是网络中找的。Object.addEvent(window, ["onload"], function () {
var wc = new CDrag,
json = /CDrag=([^;]+)(?:;|$)/.test(document.cookie) ? eval('(' + unescape(RegExp.$1) + ')') : [
{
cols : "mold_1", rows : ["url_1_1", "url_1_2", "url_1_3", "url_1_4"]
},
{
cols : "mold_2", rows : ["url_2_1", "url_2_2","url_3_2", "url_2_3", "url_2_4"]
},
{
cols : "mold_3", rows : ["url_3_1", "url_3_3", "url_3_4"]
},
{
cols : "mold_4", rows : ["url_4_1", "url_4_2", "url_4_3", "url_4_4"]
}
];
wc.parse(json);
wc = null;
});现在问题是:这个加载的数组我需要动态生成,就是那些id都是动态的,我应该怎么写这个数组?
我自己也写了一个,可是总是不对。
这是我写的: function getListID()
{
var obj=Default3.reidTb(); //返回一个栏目dataTable
var ds=obj.value;
var tbl = ds;
var rowsTxt;
var a=[];
for(i=0;i<tbl.Rows.length;i++)
{
var obj2=Default3.reidArr(tbl.Rows[i]["id"]); // 根据栏目id返回一个新的数据dataTable var tbl2=obj2.value;
for(j=0;j<tbl2.Rows.length;j++)
{
if(rowsTxt=="")
{
rowsTxt="url_"+tbl.Rows[i]["id"]+"_"+tbl2.Rows[j]["id"]; //这里是想绑定成为 url_4_1 这样的效果,4 是栏目id,
}
else
{
rowsTxt=rowsTxt+",";
rowsTxt="url_"+tbl.Rows[i]["id"]+"_"+tbl2.Rows[j]["id"];
}
}
a[i] = "{cols:'mold_" + tbl.Rows[i]["id"] + "',rows:[" + rowsTxt + "]}"; }
}
return a; //返回数组 这么写对吗??? }
Object.addEvent(window, ["onload"], function () {
var wc = new CDrag,
json = /CDrag=([^;]+)(?:;|$)/.test(document.cookie) ? eval('(' + unescape(RegExp.$1) + ')') : [
getListID() // 这里我也不知道该怎么写才能返回一个数组
];
wc.parse(json);
wc = null;
});
解决方案 »
- 请教js熟手们一个关于this 指向发生转变,导致对象内部属性取不到的问题
- FLASH轮现新闻图片,下面显示标题。但标题只显示了一行上半部分?
- 很奇怪的js问题 高手指教~~~~~~~~~谢谢
- JS传递参数到另一个页面的问题
- 关于HTC的问题
- 类似于PB的editmask的可自行设置mask的输入控件,大家帮我测一下,并给出测试环境和bug,谢谢
- 谁能帮我解释一下这段代码?
- javascript实现<input type=file>功能
- 为什么总是出错,请帮我看一下错在那里??
- javascript 里面的Math 用来干吗啊我觉得懂了不会用啊
- js 没有权限
- javascript多层次操作对象
javascript遵循“凡事皆对象”的原则,不仅是数组,连函数都是一个对象。
直接return,没问题。
getListID() // 这里我也不知道该怎么写才能返回一个数组 用return getListID();
但是我觉得我的 getListID()里面的绑定数组就是写错了的请问这个应该怎么写??
getListID写的有点问题。
a[i] = "{cols:'mold_" + tbl.Rows[i]["id"] + "',rows:[" + rowsTxt + "]}"; 这句话使得你的数组仅仅是字符串的数组。而不是对象的数组。
另外,拼接起来的字符串应该包含引号。
试一试(没有验证)for(j=0;j <tbl2.Rows.length;j++)
{
if(rowsTxt=="") {
rowsTxt="'url_"+tbl.Rows[i]["id"]+"_"+tbl2.Rows[j]["id"]+"'"; //这里是想绑定成为 url_4_1 这样的效果,4 是栏目id,
} else {
rowsTxt=rowsTxt+",";
rowsTxt+="'url_"+tbl.Rows[i]["id"]+"_"+tbl2.Rows[j]["id"]+"'";
}
}
a[i] = {cols:"'mold_" + tbl.Rows[i]["id"] + "'",rows:rowsTxt.split(',')};