我有以下HTMLTableRowElement。我需要根据名称字段和输入和选择元素的相应值将其转换为json。有库或jquery方法吗? Jquery的serializeArray方法在行的jquery对象上调用时返回一个空数组,如$('以下HTMLTableRowElement')。serializeArray()。
<tr id="row7">
<td>
<input type="text" id="person_row7" name="person_row7">
</td>
<td>
<input type="text" id="father_row7" name="father_row7">
</td>
<td>
<input class="input-mini" type="text" id="age_row7" name="age_row7">
</td>
<td>
<select id="gender_row7" class="input-small" name="gender_row7">
<option value="" selected="selected">
---------
</option>
<option>
Male
</option>
<option>
Female
</option>
</select>
</td>
<td>
<input id="phonenumber_row7" name="phonenumber_row7" type="text">
</td>
</tr>
答案 0 :(得分:0)
你需要将tr中的表单元素作为目标 - serializeArray不能用于tr - 仅表单元素和表单控件
来自jQuery .serializeArray() docs
此方法可以作用于已选择单个表单元素的jQuery对象,例如
<input>
,<textarea>
和<select>
。但是,通常更容易选择<form>
标记本身进行序列化:
// serialize all form controls with a name attribute
$('#row7 :input[name]').serializeArray();