0

我需要以一种显示顶部的四个标题和它们下面的所有字段的方式对其进行格式化。但它会产生额外的 tds 和 trs。

 <form name="edit" method="POST" action="edit">
          <table border="4">
              <thead><tr>
                      <td>Field1</td><td>Field2</td><td>Field3</td<td>Field4</td>            
                     </tr>
              </thead>
              <tbody>
                <s:iterator value="basket.items" var="item" status="element">
                  <tr>
                    <td> <s:textfield type="hidden" id="item[%{#element.index}].id"
                                        name="item[%{#element.index}].id" value="%{id/></td>
                    <td> <s:textfield id="item[%{#element.index}].product.price" 
                                        name="item[%{#element.index}].product.price" value="%{product.price}" /></td>
                    <td> <s:label value="%{product.name}"/></td>

                    <td> <s:label value="%{time}"/> </td>

                    <td> <s:label value="%{date}"/>    </td>

                    <td> <s:textfield name="item[%{#element.index}].product.price2" 
                                       id="item[{#element.index}].product.price2" value="%{product.price2}"/></td>
                 </tr>
               </s:iterator>
             </tbody>
       </table> 
   <input id="edit" type="submit" name="action" value="Edit"/>
 </form>

HTML

    <form name="edit" method="POST" action="edit">
          <table border="4">
                <thead><tr>
                         <td>Field1</td><td>Field2</td><td>Field3</td<td>Field4</td>            
                       </tr>
               </thead>
                <tbody>    
                        <tr>
                            <td>  <tr>
                               <td class="tdLabel"></td>
                            <td><input type="hidden" name="item[0].id" value="16" 
                                                     id="item[0].id"/></td>
                       </tr>
                       </td>
                       <td><tr>
                              <td class="tdLabel"></td>
                      <td><input type="text" name="item[0].product.price" 
                                             value="55"      
                                             id="item[0].product.price"/></td>
                      </tr>
                      </td>
                      <td><tr>
                          <td class="tdLabel"></td> 
                               <td><label id="">Product1</label></td>
                      </tr></td>
                      <td><tr>
                           <td class="tdLabel"></td>
                           <td><label id="">9:31:03 AM</label></td>
                      </tr>
                      </td>
                      <td><tr>
                           <td class="tdLabel"></td>
                           <td><label id="">2013</label></td></tr>
                      </td>
                      <td><tr>
                           <td class="tdLabel"></td>
                           <td><input type="text" name="item[0].unit.price2" 
                                      value="1000.0"  
                                      id="item[0].unit.price2"/>              

                            </td>
                      </tr>
                      </td>
                      </tr>

                </tbody>
            </table> 
4

3 回答 3

3

Just remove the extra stuff and format as you like by switching to simple theme.

For e.g.

<s:textfield name="name" theme="simple"/>

Now it won't create any extra TRs or TDs.

于 2013-10-29T02:30:40.070 回答
1

您还需要<td>s <tbody>

<tbody>
  <tr>
    <td>cell content column 1</td>
    <td>cell content column 2</td>
    <td>cell content column 3</td>
    <td>cell content column 4</td>
  </tr>
</tbody>

tbody在这方面表现得像thead。小心匹配两个部分中的列数。

编辑

似乎您的迭代器会处理 tbody 部分中的所有 TR 和 TD。但它也为字段标签创建 TD。

因此,在表体中,它创建的列数是表头中的两倍。您可以在表头中添加额外的标题单元格,或者您可以利用迭代器的结构并使用输入标签并丢失thead.

于 2013-10-29T00:01:20.433 回答
1

将正文字段放入 td 的
编辑:
试试这个

<td>Field1</td><td>Field2</td><td>Field3</td><td>Field4</td>

您忘记了字段 3 close 上的括号 编辑
: 您
还通过将 TD 放在中间做一些奇怪的事情,</tr>并且<tr> TD 总是必须在 TR 的内部

<td> <s:textfield type="hidden" id="item[%{#element.index}].id" name="item[%{#element.index}].id" value="%{id/></td>

于 2013-10-29T00:02:17.523 回答