asp.net 程序中 前台javascript 二维数组问题
我做的是一个在线考试系统-遇到了选题时处理javascript 中二维数组与后台间的通信问题,问题描述如下:1、在界面中有一个由Gridview生成的表(数据从数据中取到的),同时表中复选框(CheckBox1 用来标识选择题目)有一个javascript 的点击事件(selectRubric)其中事件中有两个二维数组(arr、arr2) 同时还有一个下拉列表( DropDownList1 用来获取题目来源)
部分代码:
<asp:CheckBox ID="CheckBox1" runat="server" onclick="selectRubric(this)"/>
<asp:DropDownList ID="DropDownList1"runat="server" OnDataBound="DropDownList1_DataBound" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> </asp:DropDownList>
<script type="text/javascript">
var arr=new Array();
var arr2=new Array();
var clickNum=0;
function selectRubric(checkObject)
{
2、在第一次加载页面的情况下每次选中一个复选框(非同一个)二维数组也增加一个值-为的是保存题目与分数(图:分数那列没有截取出来)
部分代码:
<script type="text/javascript">
var arr=new Array();
var arr2=new Array();
function selectRubric(checkObject)
{
var father=null,index=null,count=0,Num=0;
father=checkObject.parentElement;
father=father.parentElement;
father=father.children;
if(checkObject.checked==true)
{
for(var i=0;i<arr.length;i++)
{
if(arr[i][0]==father[2].innerText)
{
index="true";
arr2[i]=arr[i];
break;
}
}
if(index==null)
{
arr[arr.length]=[father[2].innerText,father[3].innerText];
arr2[arr2.length]=arr[arr.length-1];
}
}
else
{
for(var i=0;i<arr.length;i++)
{
if(arr[i][0]==father[2].innerText)
{
arr2[i]=null;
}
}
}
for(var i=0;i<arr2.length;i++)
{
if(arr2[i]!=null)
{
count=count+1;
Num=parseInt(arr2[i][1])+Num;
}
}
document.getElementById("NumTextBox").value="已选题数:"+count+" 分数:"+Num;
document.getElementById("NumTextBoxHidd").value="已选题数:"+count+" 分数:"+Num;
}
</script>
3、改变拉列表的值则页面重新加载,问如何将前页面的两个数组保存到后台且又从后台传递到前台javascript 的LoadSelectRubric事件中用于如果前面已选了的题目则默认为选中状态?
部分代码:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
// 后台中如何获取前台javascript 事件selectRubric 中的两个二维数组 arr、arr2
}
function selectRubric(checkObject)
{
// 前台中如何获取前面中 arr、arr2等同的二维数组
}
运行可以的话再加分!