站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题关于下拉框的问题

关于下拉框的问题

摘要: 关于下拉框的问题


自动添加一行,其中有文本框和下拉框
程序如下:
function tb_addnewaward()
{
var nId = document.all("VarNum").value;
var num = parseInt(nId);

var ls_t=document.all("myaward")
//maxcell=ls_t.rows(0).cells.length;
mynewrow = ls_t.insertRow();
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<select name='bookno"+(num+1)+"'>

<%
for (int i=0;i {
Publishbook vpat = (Publishbook) list1.get(i);

%>
<option value="<%=vpat.getBookno()%>" ><%=vpat.getBookno()%></option>
<%
}
%>
</select>
"

mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awardtitle"+(num+1)+"' value=''>
"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awardlevel"+(num+1)+"' value='' >
"

mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awarddate"+(num+1)+"' value=''>
"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='authorizedept"+(num+1)+"' value=''>
"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awardgrade"+(num+1)+"' value=''>
"
document.all("VarNum1").value = num+1;

}
其中下拉框的内容为表publishbook的bookno字段,但是这个函数为什么不好用?



“不好用”是什么意思?


mynewcell.innerHTML = "
<select name='bookno"+(num+1)+"'>
...
</select>
"

和java一样,javascript字符串不能换行

改成
mynewcell.innerHTML = "
<select name='bookno"+(num+1)+"'>"
<%for(...){...%>
+ "<option value='<%=vpat.getBookno()%>'><%=vpat.getBookno()%></option>"
<%}%>
+ "</select>
";



fosjos(无聊的菜鸟程序员) 你的方法还是不好用啊
是不是这样啊
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<select name='bookno"+(num+1)+"'>

<%
for (int i=0;i {
Publishbook vpat = (Publishbook) list1.get(i);

%>
+ "<option value="<%=vpat.getBookno()%>" ><%=vpat.getBookno()%></option>
<%
}
%>
+ "</select>
"



是不是第二行最后一个引号没有加?
你先去看看生成html后的源文件,看看javascript有没有语法错误

不明白的话,就把源文件的这段代码贴出来


function tb_addnewaward()
{
var nId = document.all("VarNum").value;
var num = parseInt(nId);

var ls_t=document.all("myaward")
//maxcell=ls_t.rows(0).cells.length;
mynewrow = ls_t.insertRow();
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<select name='bookno"+(num+1)+"'>

<%
for (int i=0;i {
Publishbook vpat = (Publishbook) list1.get(i);

%>
+"<option value="<%=vpat.getBookno()%>" ><%=vpat.getBookno()%></option>
<%
}
%>
+"</select>
"

mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awardtitle"+(num+1)+"' value=''>
"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awardlevel"+(num+1)+"' value='' >
"

mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awarddate"+(num+1)+"' value=''>
"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='authorizedept"+(num+1)+"' value=''>
"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awardgrade"+(num+1)+"' value=''>
"
document.all("VarNum1").value = num+1;

}



还是没有理解,把生成网页后的代码贴出来

另外我觉得先前我给的代码没有问题,注意一下单引号双引号匹配就可以了


function tb_addnewaward()
{
var nId = document.all("VarNum").value;
var num = parseInt(nId);

var ls_t=document.all("myaward")
//maxcell=ls_t.rows(0).cells.length;
mynewrow = ls_t.insertRow();
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<select name='bookno"+(num+1)+"'>

<%
for (int i=0;i {
Publishbook vpat = (Publishbook) list1.get(i);

%>
+"<option value="<%=vpat.getBookno()%>" ><%=vpat.getBookno()%></option>
<%
}
%>
+"</select>
"

mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awardtitle"+(num+1)+"' value=''>
"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awardlevel"+(num+1)+"' value='' >
"

mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awarddate"+(num+1)+"' value=''>
"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='authorizedept"+(num+1)+"' value=''>
"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "
<input type='text' name='awardgrade"+(num+1)+"' value=''>
"
document.all("VarNum1").value = num+1;

}





<table width="98%" border="4" align="center" bordercolor="#164dab" id="tblContent">
<tr>


↑返回目录
前一篇: struts提交后,中文显示乱码
后一篇: servlet获取页面参数问题