Javascript .val()或.text()查找表单中输入的值?

Javascript .val()或.text()查找表单中输入的值?,javascript,jquery,html,forms,input,Javascript,Jquery,Html,Forms,Input,您知道从表单输入字段(即标签之后的第二个标记)中获取值的最佳实践是什么吗 我已经能够很好地获得剩余的价值(SKU和价格),但数量是棘手的 JSFIDDLE to think: 下面是一些jQuery,它确定表的第一个tr的范围,然后尝试进入该行并提取数量值: var BSKfirstQTY = $(BSKfirstrow).find('td.quantity').text('input value'); 但正如您从小提琴的结果窗格中看到的,它正在喷出[object object] 注意:如果将

您知道从表单输入字段(即标签之后的第二个标记)中获取值的最佳实践是什么吗

我已经能够很好地获得剩余的价值(SKU和价格),但数量是棘手的

JSFIDDLE to think:

下面是一些jQuery,它确定表的第一个tr的范围,然后尝试进入该行并提取数量值:

var BSKfirstQTY = $(BSKfirstrow).find('td.quantity').text('input value');
但正如您从小提琴的结果窗格中看到的,它正在喷出
[object object]

注意:如果将.text()保留为空,则会导致it在fiddle结果窗格中拾取单词Qty(这是标签,而不是数字)


任何帮助都将不胜感激:)

如果您将一个参数传递到
text()
,您将
td.quantity
的内容设置到该字符串中,JQuery将为该字符串返回对象。如果在没有参数的情况下调用
text()
,则将在元素中获得文本

您应该使用
.val()
检索input/textarea/selects元素的值,如下所示:

var BSKfirstQTY = $(BSKfirstrow).find('td.quantity input').val();

有关val与文本的更多信息,请参阅。

如果将参数传递到
text()
,则将
td.quantity
的内容设置为该字符串,JQuery将返回该字符串的对象。如果在没有参数的情况下调用
text()
,则将在元素中获得文本

您应该使用
.val()
检索input/textarea/selects元素的值,如下所示:

var BSKfirstQTY = $(BSKfirstrow).find('td.quantity input').val();
有关val与文本的更多信息,请参阅。

签出 他说.text()对输入元素不起作用

.val()

我认为没有真正的“最佳实践”场景,因为它们都做不同的事情。看起来是一样的,但是如果你使用的是一个表单,你真的想使用
.val()
。否则
.text()
可能就足够了。

请签出 他说.text()对输入元素不起作用

.val()


我认为没有真正的“最佳实践”场景,因为它们都做不同的事情。看起来是一样的,但是如果你使用的是一个表单,你真的想使用
.val()
。否则
.text()
就足够了。

把我揍一顿!!!:)我可能会使用td.quantity>input,但这只是我自己的想法。很好。作为其他人的参考,
td-input
将选择
td
的后代的任何
input
,其中
td-input
将只选择
input
的直接子项。我太接近了!谢谢你@Zachratner,帮了大忙。把我揍一顿!!!:)我可能会使用td.quantity>input,但这只是我自己的想法。很好。作为其他人的参考,
td-input
将选择
td
的后代的任何
input
,其中
td-input
将只选择
input
的直接子项。我太接近了!谢谢@Zachratner,帮了大忙。我有时更喜欢jQuery/native混合语言:
$(BSKfirstrow)。find('td.quantity')[0]。value
这是因为您试图在td上使用.val(),而不是输入。我有时更喜欢jQuery/native混合语言:
$(BSKfirstrow).find('td.quantity')[0].value
这是因为您试图在td上使用.val(),而不是在输入上。不要执行.find('quantity').val(),只需执行.find('quantity input').val()