0

我正在尝试访问同一<tr>级别的元素,如下所示

<tr>
  <td ><input type='text' value='{$result['name']}' name='itemName' /></td>
  <td><input type='text' value='{$result['quantity']}' name='itemQuantity' /></td>
  <td><input type='text' value='{$result['cost']}' name='itemPrice' /></td>
  <td><input type='submit' name='submit' value='submit'/></td>
</tr>

我想单击提交按钮并从三个输入字段中获取每个值以通过发布连接发送,到目前为止,我尝试通过这样做来访问这些值

$(this).parent("tr").children("td input").val();

这导致了一个undefined结果。

4

2 回答 2

3

parent只选择被parentNode选元素的元素(如果它匹配指定的选择器),你可以使用closest方法:

$('tr input[type=submit]').click(function(event) {
   event.preventDefault();
   var data = $(this).closest('tr').find('input').serializeArray();  
   // Using "siblings" method     
   // var data = $(this).parent('td').siblings().find('input').serializeArray();
});
于 2013-05-14T13:10:56.533 回答
0

submitistd和 not的直接父级tr。所以试试这个

$(this).parent("td").siblings("td input").val();
于 2013-05-14T13:13:07.593 回答