[size=medium]有这样的需求:
对<table>的每行<tr>单独进行更新,这涉及到form表单
<table><form><tr>.....</tr></form></table>
这种方式不行,因为form只能包含table而不能包含<tr>
这也不是太大问题,因为我们是用jquery, 完全有可能不用form
而在<tr>...</tr>里面使用<input...>等表单
暂时的做法就是
<table>
<tr id="1">
<input type="hidden" name="shopId" />
<td>
<input type="text" name="city" />
</td>
<td>
<input type="button" class="submit" />
</td>
<tr>
<tr id="2">下一行.....</tr>
</table>
通过tr中那个id可以拿到相关行的表单值
$("#1 input[name=shopId]").val();
然后再submit到服务器
!!注意这有个问题是<input type="hidden">这个隐藏域并没有用<td>包裹
这在firefox上没有问题,但在chrome中会有问题,它会将这个隐藏域提出到table之前,
造成使用$("#1 input[name=shopId]").val();的时候拿不到相应的值
所以还是必须用<td><input type="hidden" /></td>
但是这样会占用一列, 使用<td style="display:none">将这列隐藏掉吧
搞掂...[/size]
对<table>的每行<tr>单独进行更新,这涉及到form表单
<table><form><tr>.....</tr></form></table>
这种方式不行,因为form只能包含table而不能包含<tr>
这也不是太大问题,因为我们是用jquery, 完全有可能不用form
而在<tr>...</tr>里面使用<input...>等表单
暂时的做法就是
<table>
<tr id="1">
<input type="hidden" name="shopId" />
<td>
<input type="text" name="city" />
</td>
<td>
<input type="button" class="submit" />
</td>
<tr>
<tr id="2">下一行.....</tr>
</table>
通过tr中那个id可以拿到相关行的表单值
$("#1 input[name=shopId]").val();
然后再submit到服务器
!!注意这有个问题是<input type="hidden">这个隐藏域并没有用<td>包裹
这在firefox上没有问题,但在chrome中会有问题,它会将这个隐藏域提出到table之前,
造成使用$("#1 input[name=shopId]").val();的时候拿不到相应的值
所以还是必须用<td><input type="hidden" /></td>
但是这样会占用一列, 使用<td style="display:none">将这列隐藏掉吧
搞掂...[/size]