序列化输入并选择选项

时间:2010-11-25 09:54:50

标签: javascript jquery

我需要序列化表格行(tr)中的输入和所选选项

<form action='' METHOD='post' id='formConfirmOrder'>
<table id='viewTableOrders'>
<tr id='vagon1'>
  <td>
   <select name="order[1][rail_path]" title="1">
     <option value="" selected="selected"></option>
     <option value="1">Patch1</option><option value="2">Patch2</option>
     <option value="3" selected="selected">Patch3</option><option value="5">Patch4</option></select>
  </td>
 <td>
<input name="order[1][vagon_id]" value="210" type="hidden"/>
</td>   

    $('#formConfirmOrder > #viewTableOrders tr#vagon1 
                                            select option:selected,
       #formConfirmOrder > #viewTableOrders tr#vagon1 input').serializeArray();

.. * FireBug *仅输入

[Object { name="order[1][vagon_id]", more...}]


我不能从选项中获得选定值!
输入被序列化。 ,但不是选择。

1 个答案:

答案 0 :(得分:2)

您需要序列化<select>而非序列...它会抓取所选的<option>元素automatically(通过获取<select> $('#formConfirmOrder > #viewTableOrders tr#vagon1 select, #formConfirmOrder > #viewTableOrders tr#vagon1 input').serializeArray(); 这里是一个数组),像这样:

$('#vagon1 :input').serializeArray();

或者,如果您想要所有输入,只需使用.val()选择器,如下所示:

id

由于{{1}}属性应该是唯一的,这应该有效,给定有效标记...如果您的ID不是唯一的,那么这是您需要解决的另一个问题。