我正在使用以下序列化我的表单:
formVals = $('#formID').serialize();
但是我还有一个表格,我想序列化并将其添加到formVals
可以这样做吗?我试过了:
$('#tableName').find('tr').each(function(){
formVals = $(this).text().serialize();
})
但结果是
未捕获的TypeError:$(...)。text(...)。serialize不是函数
我想要做的是从每个tr
获取文本,并将其作为新条目添加到formVals
以及退出日期。有没有办法做到这一点?
更新
一行如下:
<tr id="12354-515-asd">
<td>Today</td>
<td>0000</td>
<td>Monday</td>
<td>2345</td>
</tr>
要添加到formVals的预期值是:
12354-515-asd=Today0000Monday2345
答案 0 :(得分:3)
您需要将每个参数连接到formVals
。
formVals = $("#formID").serialize();
$('#tableName').find('tr').each(function(){
formVals += '&' + this.id + '=' + encodeURIComponent($(this).text());
});
答案 1 :(得分:2)
您收到错误的原因&#34;未捕获的TypeError:$(...)。text(...)。serialize不是函数&#34;是因为serialize()不是适用于&#34; tr&#34;或&#34; td&#34;元素(你不能这样做):
http://api.jquery.com/serialize/
.serialize()方法以标准URL编码方式创建文本字符串 符号。它可以作用于已选择个体的jQuery对象 表单控件,例如,,和:$(&#34;输入, textarea,选择&#34; ).serialize();
如果您希望附加此数据,则需要通过获取表行的ID来构建字符串,然后遍历每个<td>
元素(在其中附加数据) - 请参阅Barmar&#39; s回答一个坚实的例子。