测试如下:,把script 中的insertHTML对应的select取出来放在script外面,就可以正常显示select中的数据,为何放在insertHTML里头,无法显示出来呢?<html:form action="/jmyhaction?action=add_list" method="post">
<script language="javascript">
 function add_jmyh(){  Plist=document.getElementById("addlist");
var insertHTML='<div><tr><td>户主姓名&nbsp;<input type=text name="hzxm" size="5" class="inputmustfull" />合同编码&nbsp;<html:select property="dhhtbh" style="background-color: #00FFFF " ><html:options collection="optionht" property="htbh" labelProperty="htbh"/></html:select><td><tr></div>';
Plist.insertAdjacentHTML("beforeEnd",insertHTML);
}
</script>
    <tr class=InputFrameLine>
       <td class=InputLabelCell colspan="4" align=left>
       <div id="addlist"></div> 
    <tr class=InputFrameLine>
    <TD><INPUT class=button onclick=add_jmyh() type=button value=增加用户 name="zjbutton"> </td>
    </tr>
<tr>
测试__合同编码&nbsp;<html:select property="dhhtbh" style="background-color: #00FFFF " ><html:options collection="optionht" property="htbh" labelProperty="htbh"/></html:select>
</tr>
</html:form>

解决方案 »

  1.   

    用这个行吗document.getElementById("addlist").innerHTML = insertHTML;我用不用strutstag是可以的
    <select...><option>...</option>.......
      

  2.   

    用这种标签<select...><option>...</option>.......肯定能显示出来的,这个我试过了,但是我这里的select是从form里头取出来的值,需要用到这样的标签.
      

  3.   

    或者不用insert,而是把form值都取出来放到select里面然后select.style.display = 'none'
    通过js控制select.style.display不知道这样是不是合要求
      

  4.   

    我这里[新增用户]是很多的,每一个用户对应一张合同,并且插入数据库的时候,是按一个用户一条记录,故你上面的select.style.display,不大符合要求.