2010-11-25 84 views
0

我需要序列化在表行输入和选择选项(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(); 

.. * 萤火 *只有输入

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


我无法从选项中获取选定值!
输入序列化。 ,但没有选择。

回答

2

你需要序列化<select>不是选项...它会抓住选定<option>元素automatically(通过获取<select>,这是一个数组,这里的.val()),像这样:

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

或者,如果你希望所有的输入,只需使用:input选择,就像这样:

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

由于id属性是唯一的,这应该工作,给予有效的标记......如果你的ID不是唯一的,那是你需要解决的另一个问题。

+0

谢谢!我刚刚添加了tr#vagon1 select(不是选择选项:select) – Dezigo 2010-11-25 10:05:40