function addRow()
{<%%>var serverinf = document.getElementById("serverinf");//tablevar otr = serverinf.insertRow(serverinf.rows.length-1);//参数:table行数-1,在第几行后面增加行 var otd = otr.insertCell();
otd.style.backgroundColor = "#eeeeee"; 
                  var sHTML = "<select name='serverid'>"
                    +"<option>请选择</option>"
                     +"<%LServerTerm lServerTerm = (LServerTerm)GlobalObjectProvider.getLogicService
                                    (CommonConst.LOGIC_KEY_serverterm);"
                     +"Vector vServerTerms=lServerTerm.getAllServerTerm();"
                     +"for ( int i=0;i<vServerTerms.size(); i++ )"
                     +"{ServerTerm oServerTerm = (ServerTerm)vServerTerms.get(i);%>"
                     +"<option value=<%=oServerTerm.getServerid()%>><%=oServerTerm.getServername()%></option>"
                     +"<% } %>"
                     +"</select>"
otd.innerHTML = sHTML; 

var otd1 = otr.insertCell();
otd1.style.backgroundColor = "#eeeeee";
var sHTML1 = "<input type='text' size='5'></input>";
otd1.innerHTML = sHTML1; 

var otd2 = otr.insertCell();
otd2.style.backgroundColor = "#eeeeee";
var sHTML2 = "元";
otd2.innerHTML = sHTML2; 
}但是这样还是无法提取oServerTerm.getServerid()的数据

解决方案 »

  1.   

    +"<option value=<%=oServerTerm.getServerid()%>><%=oServerTerm.getServername()%></option>"表达式用 ''引起来,试试看
      

  2.   

    function addRow()
    {var serverinf = document.getElementById("serverinf");//tablevar otr = serverinf.insertRow(serverinf.rows.length-1);//参数:table行数-1,在第几行后面增加行 var otd = otr.insertCell();
    otd.style.backgroundColor = "#eeeeee";

    otd.style.backgroundColor = "#eeeeee";  
      var sHTML = "<select name='serverid'>"
      +"<option>请选择</option>"
      +"<%LServerTerm lServerTerm = (LServerTerm)GlobalObjectProvider.getLogicService(CommonConst.LOGIC_KEY_serverterm);"
      +"Vector vServerTerms=lServerTerm.getAllServerTerm();"
      +"for ( int i=0;i<vServerTerms.size(); i++ )"
      +"{ServerTerm oServerTerm = (ServerTerm)vServerTerms.get(i);%>"
      +"<option value='<%=oServerTerm.getServerid()%>'><%=oServerTerm.getServername()%></option>"
      +"<% } %>"
      +"</select>" otd.innerHTML = sHTML; 

    var otd1 = otr.insertCell();
    otd1.style.backgroundColor = "#eeeeee";
    var sHTML1 = "<input type='text' size='5'></input>";
    otd1.innerHTML = sHTML1; 

    var otd2 = otr.insertCell();
    otd2.style.backgroundColor = "#eeeeee";
    var sHTML2 = "元";
    otd2.innerHTML = sHTML2; 
    }
    ···············································
    以上是.js文件的内容
    下面是jsp的
    <table border=0 cellpadding=2 cellspacing=2 width="410" id="serverinf">
          <tr>
            <td bgcolor="#eeeeff" width="30%">服务名</td>
            <td bgcolor="#eeeeff" width="30%">服务次数
            </td>
            <td bgcolor="#eeeeff" width="40%">单项合计
            &nbsp&nbsp&nbsp&nbsp&nbsp
            <input type="button" value="添加" onclick="addRow()"/>
            </td>
            
          </tr>
          
         
          
          <tr>
            <td bgcolor="#eeeeee">
              <select name="serverid">
                <option>请选择</option>
         <%
           LServerTerm lServerTerm = (LServerTerm)GlobalObjectProvider.getLogicService(CommonConst.LOGIC_KEY_serverterm);
            Vector vServerTerms=lServerTerm.getAllServerTerm();
            for ( int i=0;i<vServerTerms.size(); i++ )
    {
               ServerTerm oServerTerm = (ServerTerm)vServerTerms.get(i);
               System.out.println(i);
             %>
           <option value=<%=oServerTerm.getServerid()%> selected="selected"><%=oServerTerm.getServername()%></option>
          
           <% } %>
         </select>
            </td>
            <td bgcolor="#eeeeee">
              <input type="text" size="5"></input>
            </td>
            <td bgcolor="#eeeeee">元</td>
          </tr>
                <tr>
            <td colspan="2" bgcolor="#eeeeee">全部消费为:</td>
            <td bgcolor="#eeeeee">元</td>
          </tr>
        </table>