将包含输入和选择等表单元素的jquery对象转换为json

时间:2013-03-13 17:52:13

标签: jquery json

我有以下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>

1 个答案:

答案 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();

FIDDLE