我的目标是在一个表单中动态生成一个包含各种项目的表。每一行都有一个与该行关联的唯一输入值。我希望用户能够点击行中的任何地方(无需提交按钮),并通过一个POST请求发送该输入。我只成功地让表单为我选择的每个项目提交相同的输入值,而不是1、2、3等。我缺少什么?
$("tr").on('click',function(){
var id = $(this).attr('value');
var $form = $('#form1');
$form.find("tr[id^='blah']").val(id);
$form.submit();
});
<table>
<form method="POST" id="form1" action="action">
<tr id="blah1" value="1">
<input name="numberInput" value="1" type="hidden"/>
<td><b>Item 1</b>
<td><b>$5</b></td>
</tr>
<tr id="blah1" value="2">
<input name="numberInput" value="2" type="hidden"/>
<td><b>Item 2</b>
<td><b>$8</b></td>
</tr>
...
</form>
</table>
编辑
我自己想出来的。我在表单中添加了一个唯一的标识符,将表单保存在表中,并对jquery进行了下面的修改。
$("tr").click(function(){
var uniqueID = $(this).find("td:first-child > input").val();
$("#formName" + uniqueID).submit();
});