从按钮获取输入值

Get the value of an input from a button

假设我有这个代码:

...
<tr>
  <td align="right">
    <button type="button" class="btn btn-default editCustomer"><i class="fa fa-edit"></i></button>
  </td>
  <input type="hidden" name="usr_firstname" value="Franck">
</tr>
...

如何获取 usr_firstname 输入的值?

我已经尝试过一些这样的事情:
- usr_firstname = $(this).closest('input[name="usr_firstname"]').val();
- usr_firstname = $(this).find('input[name="usr_firstname"]').val();

你的两个元素在树的不同部分,所以找到 closest 共同祖先然后 find 下来。

usr_firstname = $(this).closest('tr').find('input[name="usr_firstname"]').val();

注意:您的隐藏 input 直接位于 TR 下是无效的 HTML。大多数浏览器都可以容忍它,但它应该放在其他地方(例如 TD 内)。

建议:

我建议您改为将隐藏值作为 data- 属性注入行。

<tr data-firstname="Franck">
  <td align="right">
    <button type="button" class="btn btn-default editCustomer"><i class="fa fa-edit"></i></button>
  </td>
</tr>

那么代码就变成了这样:

usr_firstname = $(this).closest('tr').data('firstname');