我做的是用复选框自主选择一些项目,然后提交,最后显示出来所有选择过的项目。
现在我是把复选框的value以数组形式写进了session里记录
具体是:把session中原来存的字符串分割(String的split方法),保存到数组array(ArrayList类型)中,再将传过来的check数组分别写入array中,最后转换为String类型再存到session中
现在问题是进行选择后,没能实现对某一项的修改(修改选择),有人说用HashMap来记录每页的ArrayList,不过我总试不成功,也有点不明白,那位有这方面的例子,给借鉴一下?String[] records = request.getParameterValues("check");
if (records != null)
{
ArrayList array = new ArrayList();
String temp = (String)session.getAttribute("IT_Code");
int i = 0;
if (temp != null)
{
String[] values_split = temp.split(",");
for (i = 0; i < values_split.length; i++)
{
array.add(values_split[i]);
}
} i = 0;
while (i < records.length) // 将新提交上来的ID号添加到数组中
{
int flag = 0;
for (int j=0; j<array.size(); j++)
{
if (array.get(j).equals(records[i]))
flag = 1;
}
if (flag == 0)
array.add(records[i]);
i++;
}
// 现在全部ID都已添加到数组中,下面重新将其保存到session中
temp = "";
for (i = 0; i < array.size(); i++)
{
temp += (String)array.get(i)+",";
}
temp.substring(0, temp.length()-1); // 去掉最后多加的一个逗号
//out.println("temp="+temp);
session.setAttribute("IT_Code",temp);
//out.println("a="+session.getAttribute("IT_Code"));
}
现在我是把复选框的value以数组形式写进了session里记录
具体是:把session中原来存的字符串分割(String的split方法),保存到数组array(ArrayList类型)中,再将传过来的check数组分别写入array中,最后转换为String类型再存到session中
现在问题是进行选择后,没能实现对某一项的修改(修改选择),有人说用HashMap来记录每页的ArrayList,不过我总试不成功,也有点不明白,那位有这方面的例子,给借鉴一下?String[] records = request.getParameterValues("check");
if (records != null)
{
ArrayList array = new ArrayList();
String temp = (String)session.getAttribute("IT_Code");
int i = 0;
if (temp != null)
{
String[] values_split = temp.split(",");
for (i = 0; i < values_split.length; i++)
{
array.add(values_split[i]);
}
} i = 0;
while (i < records.length) // 将新提交上来的ID号添加到数组中
{
int flag = 0;
for (int j=0; j<array.size(); j++)
{
if (array.get(j).equals(records[i]))
flag = 1;
}
if (flag == 0)
array.add(records[i]);
i++;
}
// 现在全部ID都已添加到数组中,下面重新将其保存到session中
temp = "";
for (i = 0; i < array.size(); i++)
{
temp += (String)array.get(i)+",";
}
temp.substring(0, temp.length()-1); // 去掉最后多加的一个逗号
//out.println("temp="+temp);
session.setAttribute("IT_Code",temp);
//out.println("a="+session.getAttribute("IT_Code"));
}
解决方案 »
- Workbook.getWorkbook() nullpointexception错误
- jsp做成绩管理系统
- myeclipse中启动Tomcat6.0出问题
- Firefox下判断checkbox是否被选中的问题!
- hibernate 一对一 多对一问题
- <%! %>声明中哪些可以用哪些不可以用?
- 为什么 the useBean class attribute javazoom.upload.UploadBean is invalid.
- 自己设置站点下的servlet运行问题!
- 打不开jsp网页,在线等!
- 大哥大姐叔叔阿姨可有答案(急救)
- 初学者请教问题之二:数据库查询问题
- showModelessDialog的刷新问题
给你一个设定 checkbox默认值的js/************************************By *****************************\
| 函数名称:set_checkbox
| 传入参数:objStr为控件名称 theValue为值 sel为boolean值,是否选中
| 返回值:无
| 函数功能:设置checkbox控件指定值的项的选取状态
| 作者:
| 创建日期:2004年11月15日
| 修改者:
| 修改日期:2006
| 修改功能:
* 例子: 如果让名字为policy_level3_id_1_1 的checkbox 的值为 7 和 2 的 checkbox 状态为checked=true
* set_checkbox_new('policy_level3_id_1_1','7#','#&#',true) 这样 checkbox 的值为72 或7222 ,777722 的都不会被选定
* 参数: objStr checkbox的name,
* theValues要判断的字符串
* splitBy 字符串的值以splitBy分割
* state 对应的checkbox 的状态
* 1.把eval 方式更改成 getElementsByName
| 2.增加了更安全的验证方式 把values 以splitBy分割开
|
\*********************************************************************************/
function set_checkbox_obj(objCheckbox,theValues,state)
{
try
{
if(objCheckbox.length)
{
for(var i=0;i<objCheckbox.length;i++)
{
if(theValues.indexOf(objCheckbox[i].value) >= 0)
objCheckbox[i].checked = state;
else
objCheckbox[i].checked = !state;
}
}
else
{
if(theValues.indexOf(objCheckbox.value) >= 0)
objCheckbox.checked = state;
else
objCheckbox.checked = !state;
}
}
catch(e){}
}/**
* 函数功能:设置checkbox控件指定值的项的选取状态
* @param: objCheckbox 需设置的控件
* @param: thvalues 用逗号分隔的字符串值
* @param: state true 或 false
*/
function set_checkbox(objStr, theValues, state)
{
var objCheckbox = eval(objStr);
set_checkbox_obj(objCheckbox, theValues, state);
}
//================================new====================================
/**
* 例子: 如果让名字为policy_level3_id_1_1 的checkbox 的值为 7 和 2 的 checkbox 状态为checked=true
* set_checkbox_new('policy_level3_id_1_1','7#','#&#',true) 这样 checkbox 的值为72 或7222 ,777722 的都不会被选定
*
* objStr checkbox的name,
* theValues要判断的字符串
* splitBy 字符串的值以splitBy分割
* state 对应的checkbox 的状态
*/
function set_checkbox_new(objStr, theValues,splitBy, state)
{
var objCheckbox = document.getElementsByName(objStr);
set_checkbox_obj_new(objCheckbox, theValues,splitBy, state);
}function set_checkbox_obj_new(objCheckbox,theValues,splitBy,state)
{
try
{
if(objCheckbox.length)
{ tempValues=theValues.split(splitBy); for(var i=0;i<objCheckbox.length;i++)
{
objCheckbox[i].checked = !state;//设定初始值 for(j=0;j<tempValues.length;j++) {
if(tempValues[j]==(objCheckbox[i].value))
objCheckbox[i].checked = state;
}
}
}
else
{
if(theValues.indexOf(objCheckbox.value) >= 0)
objCheckbox.checked = state;
else
objCheckbox.checked = !state;
}
}
catch(e){}
}