当前页面: 开发资料首页 → 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>