Javascript .val()或.text()查找表单中输入的值?
您知道从表单输入字段(即标签之后的第二个标记)中获取值的最佳实践是什么吗 我已经能够很好地获得剩余的价值(SKU和价格),但数量是棘手的 JSFIDDLE to think: 下面是一些jQuery,它确定表的第一个tr的范围,然后尝试进入该行并提取数量值: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] 注意:如果将
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()