我有一个包含多行输入框的表。整个表及其内容是使用jQuery Post动态创建的。表中的每个tr都有7个td,第一个td包含一个单选按钮,剩下的都有带值的文本输入框。用户必须更改文本框中的值,然后单击单选按钮以更新相同的值。如果所选行中的输入框如何获取值?
我使用以下功能弹出警告信息
jQuery(document).delegate("[name='edit']", "click",function (e) {
alert("clicked");}
这很有效。我想用这个来获取输入框的值。最接近的输入。但不知道语法。请帮忙
创建表的脚本如下:
echo'<form id="shiftentry" name="shiftentry" >';
echo "Date:<input id=shiftdate value='".$date."'/>";
echo "Unit:<input id=shiftdate value='".$unit."'/>";
echo "Shift:<input id=shiftdate value='".$shift."'/><br/>";
echo "<table><tr><th>No</th><th>Ele</th><th>Location</th><th>Drate </th><th>H3 Val </th><th>Part </th> <th>Iod</th><th>Cont. </th></tr>";
while($row2=mysql_fetch_array($result_sec))
{
echo "<tr>";
echo "<td><input name='edit' type='radio'/></td>";
echo "<td>".++$rc."</td>";
echo "<td><input size='5' id='".$row2['ele']."' value='".$row2['ele']."' /></td>";
echo "<td><input id='".$row2['loc_id']."' value='".$row2['loc']."' /></td>";
echo "<td><input size='5' id='drate".$rc."' value='".$row2['drate']."'/></td>";
echo "<td><input size='5' id='h3".$rc."' value='0' /></td>";
echo "<td><input size='5' id='part".$rc."' value='0' /></td>";
echo "<td><input size='5' id='iod".$rc."' value='0' /></td>";
echo "<td><input size='5' id='cont".$rc."' value='0' /></td>";
echo "</tr>";
}
echo " </table>";
echo '<div align="center">';
echo '<input type="submit" id="submit2" name="submit2" value="Submit" width="30" />';
echo '</div>';
echo '</form>';
答案 0 :(得分:0)
查看.closest()和:eq()选择器。
jQuery(document).delegate("input[name='edit']", "click",function (e) {
// Will return the Parent Row of clicked input
var _tr = $(this).closest('tr');
// You have 9 td in particular row
// Let's access the 7th input box: <input size='5' id='iod".$rc."' value='0' />
$('td:eq(7) input', _tr).val(); // will return its value
});