当前位置:首页 » HTML/CSS

处理checkbox 小技巧

2007-04-22 19:29 本站整理 浏览(14)

最近看到好多人问关于处理checkbox 的问题,

现对这个问题谈下我自己的做法!

问题:(引用 TNT_fireball(毅) 的问题。http://community.csdn.net/Expert/topic/3947/3947484.xml?temp=.2331659)

----------------------------------------------------------------

我想做选课系统,外观如下:

学期 课程名称 程类别 学分 成绩 绩点 备注 重修 选课与否

2003-2004(上) 统计学 必修课 3 98 4 checkbox (0/1)

...... ...... ..... ...... ...... ...... ...... checkbox (0/1)

...... checkbox (0/1)

..... checkbox (0/1)

..... ..........

因为课程名称是从数据库里面一张schedule表里面调出来的,课程数量根据表的情况有多有少,开始是不知道的,所以checkbox的value值的数量和名称定义都是动态,所以不能用checkbox value=1,2,3,4这样一开始就设定好,那应该怎么设定呢? 郁闷 查不到相关的东西啊~

然后我想记录到数据库SC表--select course的课程信息,形式如:

学生编号----课程编号 一个表,两个属性,两个属性整体作为主键。

能不能提供一些根据checkbox选择信息来记录到数据库的思路和例子呢?

我才啃JSP的 搞不定啊,已经在努力学习了,在这里虚心求教了,大家!

重新整理后的问题:(引用 TNT_fireball(毅) 的问题。http://community.csdn.net/Expert/topic/3947/3947484.xml?temp=.2331659)

--------------------------------------------------

上面的外观变了,现在重写一下,因为第一次提问不会用这个系统,见谅啊各位~

我想做选课系统,外观如下:

学期 课程名称 程类别 学分 成绩 绩点 选课与否

2003-2004(上) 统计学 必修课 3 98 4 checkbox (0/1)

...... ...... ..... ...... ...... ......checkbox (0/1)

...... checkbox (0/1)

..... checkbox (0/1)

..... ..........

因为课程名称是从数据库里面一张schedule表里面调出来的,课程数量根据表的情况有多有少,开始是不知道的,所以checkbox的value值的数量和名称定义都是动态,所以不能用checkbox value=1,2,3,4这样一开始就设定好,那应该怎么设定呢? 郁闷 查不到相关的东西啊~

然后我想记录到数据库SC表--select course的课程信息,形式如:

学生编号----课程编号 一个表,两个属性,两个属性整体作为主键。

能不能提供一些根据checkbox选择信息来记录到数据库的思路和例子呢?

我才啃JSP的 搞不定啊,已经在努力学习了,在这里虚心求教了,大家!

继续问:(引用 TNT_fireball(毅) 的问题。http://community.csdn.net/Expert/topic/3947/3947484.xml?temp=.2331659)

---------------------------------

请问 那是不是就要变成从schedule表里面一次只能读出5条记录,然后让用户选课提交,“一个学号对应一个课程号”记录到数据库里面,再读出schedule的下5条显示,用户提交啊??

不然如果一次全部读出schedule的内容就会是:

课程1 .........checkbox(value="1")

...... ...............

课程6 .........checkbox(value="1")

那怎么区分不同课程被选定好录入数据库呢?

能不能讲解一下呢?? 我真是没有头绪了

以下是我对这个问题的解答:

------------------------------------------------------------

首先这些 checkbox 必须具有相同的 property,然后用 value 对他们加以区别,

<html:checkbox property="name" value="张三" checked="checked">张三</html:checkbox>

<html:checkbox property="name" value="李四" checked="checked">李四</html:checkbox>

<html:checkbox property="name" value="王五" > </html:checkbox>

这里有三个选项,只有 张三、李四被选中。

在你的应用中,你可以定义一个数组,

String[] names=request.getParameterValues("name");

这个时候 names 就自动只取了选中的项,

int sum=names.length; //这里i等于2

然后就可以利用 for 循环对提交的信息进行处理了!

for( int i = 0; i < sum ; i ++){

out.println(names[i].value); //实际的业务

}

----------------------------------------------------

这样的问题,就是这样解决的!

共同学习!