我需要序列化表格行(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...}]
我不能从选项中获得选定值!
输入被序列化。 ,但不是选择。
答案 0 :(得分:2)
您需要序列化<select>
而非序列...它会抓取所选的<option>
元素automatically(通过获取<select>
$('#formConfirmOrder > #viewTableOrders tr#vagon1 select,
#formConfirmOrder > #viewTableOrders tr#vagon1 input').serializeArray();
这里是一个数组),像这样:
$('#vagon1 :input').serializeArray();
或者,如果您想要所有输入,只需使用.val()
选择器,如下所示:
id
由于{{1}}属性应该是唯一的,这应该有效,给定有效标记...如果您的ID不是唯一的,那么这是您需要解决的另一个问题。