未检索的输入字段的值:未定义的对象

时间:2015-02-23 13:08:07

标签: javascript jquery html

我有以下HTML:

<table>
... some other rows
<tr>
   <td>
      <input id="Products_0__Quantity" class="product-quantity" type="text" />
  </td>
  <td>
     ...Some other columns
  </td>
</tr>
... some other rows
</table>

我已将事件处理程序附加到每行中包含的链接。我知道它有效,因为事件处理函数的其他部分功能完全正常。但是这部分不是:

var tr = $(this).closest('tr');
var productQuantity = tr.children('input.product-quantity').val();

在此行之后,productQuantity仍未定义。

有什么问题?

3 个答案:

答案 0 :(得分:4)

使用.find()代替.children()

  

.children()方法与.find()的不同之处在于.children()只在DOM树中向下移动一个级别,而.find()可以遍历多个级别以选择后代元素(孙子级)等等。)

代码

tr.find('input.product-quantity').val()

答案 1 :(得分:1)

请试试这个: -

tr.find('input.product-quantity').val();

而不是Children

答案 2 :(得分:0)

在我看来,$(this)的定义出了问题, 你确定你用$(这个)获得的元素吗?

然而.find()比孩子好。