0

我在此链接下提供的最后一个解决方案下找到了一些解决方案:创建一个 HTML 表格,其中每个 TR 是一个表格

无论如何,这是我的代码中的一些片段: HTML:

<tr class="a1td">
    <td class="style1">12</td>
    <td class="style1">i_pinz/td>
    <td class="style1">2013-05-12</td>
    <td class="style1">2013-05-12</td>
    <td class="style1"><input type="text" name="name1" value="val1" id="name1" size="50" maxlength="50" placeholder="exampletext"  /></td>
    <td class="style1"><input type="text" name="name2" value="val2" id="name2" size="20" maxlength="32" placeholder="example2" class="cleanInput"  /></td>
    <td class="style1"><input type="text" name="name3" value="" id="name3" size="20" maxlength="32" placeholder="example"  /></td>
    <td class="style1"><input type="text" name="name4" value="val4" id="link" size="50" maxlength="255" placeholder="example"  /></td>
    <td class="style1"><input type="text" name="name4" value="0" size="4" /></td>
    ... some links and images
    <td><button name="apply" type="submit" class="SubmitRow" ><img src="accept.png" alt=""/></button>
<input type="hidden" name="ID" value="xx" />
    </td>
<tr>

JavaScript:

<script type="text/javascript">
$(document).ready(function(){
  $(".SubmitRow").click(function()
  {
     console.log('inside submit function');
     var form = '<form><table><tr>' + $(this).closest('tr').html() + '</tr></table></form>';
     var serialized = $(form).serialize();
     console.log(serialized);
     $.post("quickEdit", serialized); 
   });
});        
</script>

所以,我现在的问题是:如果我更新字段 name3 并按下按钮,该函数被调用为假定和想要的,无论如何,如果我查看控制台日志字段 name3 没有呈现更新的值。因此,服务器端的代码不起作用。

我使用最新的 jQuery 1.9.x 并且表格没有包含在<form></form>.

欢迎任何建议。

4

1 回答 1

0

尝试这个 -

var serialized = $(form).find('form').serialize();

或者

var serialized = $(this).closest('tr').serialize();
于 2013-05-13T08:44:19.610 回答