让复选框选中的问题

hnfenfen 2008-09-26 09:36:39
<SCRIPT>
//====================================================================
//点中列表框的单选框时触发当前事件
//刷新编辑页面,并设置操作为 op_edit(修改), record_id 流水号
//====================================================================
function choice_click( o )
{
var cbs=o.parentNode.parentNode.cells[1].getElementsByTagName("input");
for(var i=0;i<cbs.length;i++)cbs[i].checked=o.checked;
}
function CCR(o){}
function aa () {
var emp_name = document.getElementsByName("rec_emp_name");
var dep_name = document.getElementsByName("rec_dep_name");
var emp_id = document.getElementsByName("rec_emp_id");
var dep_id = document.getElementsByName("rec_dep_id");
for (var i = 0; i < emp_name.length; i++) {
if (emp_name[i].checked) {
// alert(arr1[i].value + " " + arr2[i].value + " " + arr3[i].value);
}
}
}

</SCRIPT>
<%
String op = myprog.getParam( "op" );
if(op.equals( "op_edit"))
{
String record_id = myprog.getParam( "record_id" );
//System.out.println(record_id);
sSql = "SELECT msg_id FROM S_Msg WHERE record_id='" + record_id + "'";
System.out.println(sSql);
String td[][] = db.selectA( sSql );
String msg_id = td[0][0];
sql="select rec_emp_name from S_RecMsg where msg_id='"+msg_id+"'";
String emp_name[][] = db.selectA( sql );
System.out.println(sql);
//var checkboxs=document.getElementsByName("rec_emp_name");
for(int i=0;i<emp_name.length;i++)
{
// checkboxs.value=emp_name[0][i];
}
if( msg_id.equals("") )
{
out.println( "入口参数错误,请重新操作!" );
return;
}
}
%>
<%!
String sSql="";
String sql="";

//=============================================================================
//扩展列表分页显示类
//=============================================================================

class myListTable extends jbs.html.listTable {
public String getSelect(String curName)
{
String record_id = myprog.getParam( "record_id" );
//System.out.println(record_id);
sSql = "SELECT msg_id FROM S_Msg WHERE record_id='" + record_id + "'";
System.out.println(sSql);
String td[][] = db.selectA( sSql );
String msg_id = td[0][0];
sql="select rec_emp_name from S_RecMsg where msg_id='"+msg_id+"'";
String emp_name[][] = db.selectA( sql );
System.out.println(sql);
String returnValue = "";
for(int i = 0; i < emp_name.length; ++i)
{
if(emp_name[i][0].equals(curName))
{
returnValue = "checked";
break;
}
}
return returnValue;
}
//系统查询数据库后,在生成页面前,自动调用此方法
//可对结果集进行处理,提供如下变量可供使用:
//resultRow 结果行数,resultCol 结果列数,resultData[][]查询结果二维数组
public void BeforeMakeTable() {
for( int i=0; i<resultRow; i++ ) {
if(!resultData[i][0].equals("") )
{
String temp_id=resultData[i][0];
String temp_name=resultData[i][1];
resultData[i][0] = "<INPUT TYPE='checkbox' NAME='dep_name' ONCLICK='return choice_click(this)' value='"+resultData[i][1]+"'>" + resultData[i][1];
String sql="select emp_id,emp_name from S_Emp where dep_id='"+temp_id+"'";

String emp[][] = db.selectA(sql);
resultData[i][1]="";
for(int x=0; x<(emp.length); x++)
{

if(!emp[x][0].equals(""))
{
resultData[i][1] += "<INPUT TYPE='checkbox' NAME='rec_emp_name' value='"+emp[x][1]+"'"+getString(emp[x][1])+">" + emp[x][1]+"<input type=hidden name=rec_emp_id value='"+emp[x][0]+"'><input type=hidden name=rec_dep_id value='"+temp_id+"'><input type=hidden name=rec_dep_name value='"+temp_name+"'>";
}
}

}
//备注
// resultData[i][2] = "<input name='emp_name' type=text class=textinput size=20>";

}
}

}//结束类定义

%>

<%
String searchWhere = "";//查询SQL WHERE条件
String searchUrl = ""; //获取分页的附加参数


//表格字段名称, 宽度, 对齐
String tbTitle[][] = new String[][] {
{"部门", "5%", "left" },
{"员工", "50%", "left" },
// {"选择", "5%", "left" },
// {"员工", "10%", "center" },
// {"员工", "10%", "left" },

// {"员工", "10%", "left" },

};


//定义显示数据
//或者从数据库直接查询而来, 如 String tbData[][] = db.selectA( SQL );
sSql = "select dep_id,dep_name from S_Dep order by record_id";
String tbData[][] = db.selectA( sSql );

//需要隐藏的字段
int tbHidden[] = new int[] {
10
};

//附加查询SQL WHERE 条件
String tbWhere = searchWhere;

myListTable ap = new myListTable();
//ap.addForm( "form_table", "", "return false;" );//增加FORM
ap.setEnv( pageContext, db );//传入JSP页面对象, 数据库对象
ap.setTitle( tbTitle );//传入字段标题
ap.setChooseType( 0 );//第0列显示方式:0/正常,1/单选框,2/多选框
ap.setShowRecordNum( 9999 );//每页显示记录数
//ap.setSQL( tbFields, tbSqlFields, "V_Yf_Product_Detail", tbWhere, tbOrder );//字段,表名,SQL WHERE条件,SQL排序
//改为直接传入数据
ap.setData( tbData ); //必须, 传入查询结果集
//ap.setPostUrl( searchUrl );//分页附加条件
ap.setHidden( tbHidden ); //隐藏
//ap.setDefaultValue( myprog.getParam( "defaultClickValue" ) ); //缺省选中值
ap.showNavigate( false );//显示导航条

String sHtml = ap.getHtml();//输出结果

//=============================================================================
//输出页面
//=============================================================================

mytpl.setParam( "TO_DETAIL", sHtml );
%>



这是整个JSP代码,怎样把让rec_emp_name复选框的value等于emp_name[i][]时让它选中?请各位高手帮忙解答一下
...全文
68 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangkandy2002 2008-09-26
  • 打赏
  • 举报
回复
sql="select emp_id,rtrim(emp_name)as emp_name from S_Emp where dep_id='"+temp_id+"'";
sql="select rtrim(rec_emp_name)as rec_emp_name from S_RecMsg where msg_id='"+msg_id+"'";
sSql = "select dep_id,rtrim(dep_name)as dep_name from S_Dep order by record_id";

把这些SQL语句都加上rtrim() --去除右边空格.
liangkandy2002 2008-09-26
  • 打赏
  • 举报
回复
resultData二维数组没有定义.
hnfenfen 2008-09-26
  • 打赏
  • 举报
回复
大哥帮忙看看啊
liangkandy2002 2008-09-26
  • 打赏
  • 举报
回复
层次很不清楚,java类、javascript、jsp应该区别开,看得我头痛.
hnfenfen 2008-09-26
  • 打赏
  • 举报
回复
public String getSelect(String curName)
{
String record_id = myprog.getParam( "record_id" );
//System.out.println(record_id);
sSql = "SELECT msg_id FROM S_Msg WHERE record_id='" + record_id + "'";
System.out.println(sSql);
String td[][] = db.selectA( sSql );
String msg_id = td[0][0];
sql="select rec_emp_name from S_RecMsg where msg_id='"+msg_id+"'";
String emp_name[][] = db.selectA( sql );
System.out.println(sql);
String returnValue = "";
for(int i = 0; i < emp_name.length; ++i)
{
if(emp_name[i][0].equals(curName))
{
returnValue = "checked";
break;
}
}
return returnValue;
}
是这个方法,是别人说的,试了一下,还是不行,希望大哥指点一下
yeah920 2008-09-26
  • 打赏
  • 举报
回复


if(!emp[x][0].equals(""))
{
String ls_checked=emp[x][1].equals(emp_name[i][1])?" checked ":"";
resultData[i][1] += "<INPUT TYPE='checkbox' NAME='rec_emp_name' value='"+emp[x][1]+"'"+getString(emp[x][1])+ls_checked+">" + emp[x][1]+"<input type=hidden name=rec_emp_id value='"+emp[x][0]+"'><input type=hidden name=rec_dep_id value='"+temp_id+"'><input type=hidden name=rec_dep_name value='"+temp_name+"'>";
}

这个getString(emp[x][1])是啥?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧