JS使用innerhtml的问题
我想用
var Row = mytable.insertRow();
Row.insertCell().innerHTML= " ";
来插入一个列表框,这个列表框要取数据库的一个字段的值,我用这样的代码试了不行,请问还有没有别的方法
Row.insertCell().innerHTML= " <select name=\ "measure_dot\ " value=\ "cldhList\ " style=\ "width:106\ "> <option value=\ "cldhList\ "> <\/select> ";
对cldhList的定义:
List cldhList = collectcldhList(request);
request.setAttribute( "cldhList ",cldhList);
private List collectcldhList(HttpServletRequest request) throws Exception
{
DBOperationForSHSInterface taskdataBean=getTaskdataService();
List cldhList=taskdataBean.searchByHQL( "select hpdata_task from taskdataEntity as hpdata_task ");
return cldhList;
}
------解决方案--------------------这样写是可以的 可能是你写得不太对 我改了一下
var Row = mytable.insertRow();
Row.insertCell().innerHTML= " ";
Row.insertCell().innerHTML= " <select name=\ "measure_dot\ " value=\ "cldhList\ " style=\ "width:106\ "> <option value=\ "cldhList\ "> one option </option> </select> ";
------解决方案--------------------两个办法。
如果你要用innerHTML,那就动态的把数据库读出的值连接到你innerHTML字符串的相应位置。
不过似乎这样有点麻烦
另一个办法。
var Row = mytable.insertRow();
Row.insertCell().innerHTML= " ";
Row.insertCell().innerHTML= " <select id=testSelect name=\ "measure_dot\ " value=\ "cldhList\ " style=\ "width:106\ "> </select> ";
for var(i=0;i <dataRead.rows.length;i++) //dataRead是你数据库中读出的数据集之类的东西
{
var oOption=document.createElement( "option ")
document.getElementById( "testSelect ").appendChild(oOption);
oOption.value=abc[i] //你从数据库读出的值
oOption.innerHTML=def[i] //还是你从数据库读出的显示值
}
没有测试,不过基本就是这样了