我在一个页面上有多个表单都是这样的:ID值会改变,但选项可能类似。
<form class="test"><td>4000</td>
<td align='center'><input type='radio' name='radio' value='car' checked></td>
<td align='center'><input type='radio' name='radio' value='boat' ></td>
<td align='center'><input type='radio' name='radio' value='Plane' ></td>
<input type='hidden' name='id' value='4000'/>
<input type='hidden' name='location' value='local'/>
<div class="form" style="display: none;">
</div></form>
使用JQuery我试图在选择3个单选按钮中的任何一个时提交它。
<script>
$("input[name='radio']").click(function() {
var CurrectForm=$(this).parents('.test:first');
$.post(
'do.php',
CurrectForm.serialize(),
function( response ) {
CurrectForm.find('#form').html( response );
show( response );
}
);
} );
</script>
我使用了类似于上面的复选框和下拉列表,它们运行良好。但是这似乎没有将值提交到do.php页面。提交的值以div格式显示。执行var_dump($_POST);
会产生一个空数组。
有人能指出我正确的方向吗? 感谢
更改表格ti这似乎有用吗?
<td><form class="test">
<input type='radio' name='radio' value='car' checked>
<input type='radio' name='radio' value='boat' >
<input type='radio' name='radio' value='Plane' >
<input type='hidden' name='id' value='4000'/>
<input type='hidden' name='location' value='local'/>
<div class="form" style="display: none;">
</div></form></td>
为什么要改变原因呢?
Jfiddle与工作示例:) http://jsfiddle.net/QvpH5/
答案 0 :(得分:0)
我的猜测是,您的网页上有多个表格test
。发生了什么,当你使用parents()
时,你没有意识到它首先找到所有的祖先,然后然后搜索 .test:first
。这将返回第一个表单的值,无论单击哪个表单。
看看这个jsFiddle看到修复(将.parents更改为.parent):http://jsfiddle.net/SDzzr/