序列化 <td> 中的值是可能的吗?使用 js

serialize the value in <td> is possible?using js

var data = $("#myform").serialize();
console.log(data);

<form method="post" id="myform" action="">
<table>
<tr>
<td>
<input type=text name="fname"/>
</td>
</tr>
<tr>
<td>
<input type=text name="lname"/>
</td>
</tr>
<tr>
<td>
<input type=text name="age"/>
</td>
</tr>
</table>
</form>

我能够使用输入文本和上面的代码序列化此表单我的问题是,是否可以仅在是的情况下使用 td 序列化任何想法?我使用的表单是这样的

<form method="post" id="myform" action="">
    <table>
    <tr>
    <td name="fname" id="fname">

    </td>
    </tr>
    <tr>
    <td name="lname" id="lname">

    </td>
    </tr>
    <tr>
    <td name="age" id="age">

    </td>
    </tr>
    </table>
    </form>

没有。您不能对 table td 使用序列化。 它仅适用于输入控件。如果你想 post td 数据然后创建你自己的 java 脚本对象,收集 td 文本并 post 它到服务器。

你需要自己收集数据然后参数化:

var data = $.param($('td').map(function() {
    return {
        name: $(this).attr('name'),
        value: $(this).text().trim()
    };
}));

查看下面的演示。

var data = $.param($('td').map(function() {
    return {
        name: $(this).attr('name'),
        value: $(this).text().trim()
    };
}));

alert(data)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
    <tr>
        <td name="fname" id="fname">First Name</td>
    </tr>
    <tr>
        <td name="lname" id="lname">Last Name</td>
    </tr>
    <tr>
        <td name="age" id="age">23</td>
    </tr>
</table>