【问题标题】:Get the value of an input from a button从按钮获取输入的值
【发布时间】:2015-10-20 18:11:16
【问题描述】:

假设我有这个代码:

...
<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();

【问题讨论】:

  • 您的 HTML 似乎无效...隐藏输入的父级是什么?

标签: jquery find next


【解决方案1】:

你的两个元素在树的不同部分,所以找到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');

【讨论】:

  • 谢谢,它有效。我会像你说的那样把我的藏身之处移到外面。
  • 为您的隐藏值添加了替代建议。 data- 属性是放置未显示的额外数据的地方。
  • 我非常喜欢你的方法。
  • 如果您需要更多详细信息。只要问:)
猜你喜欢
  • 2021-08-25
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多