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

时间:2014-03-19 14:16:22

标签: javascript jquery html forms input

知道从表单输入字段中获取值的最佳做法是什么(在标记之后的标记中是第二个)?

我已经能够将其余的价值罚款(SKU和价格),但数量很棘手。

JSFIDDLE整个事情: http://jsfiddle.net/hslincoln/7HXBQ/33/

这是一些jQuery,它对表的第一个tr进行了范围调整,然后尝试进入该行并提取数量值:

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

但正如您从小提琴的结果窗格中看到的那样,它会喷出[object Object]

注意:将.text()保留为空会导致它在小提示结果窗格中拾取单词 Qty (这是标签,而不是数字)。

非常感谢任何帮助:)

2 个答案:

答案 0 :(得分:6)

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

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

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

有关val与文字的详细信息,请参阅this question

答案 1 :(得分:0)

结帐Difference between val() and text() 他说.text()不适用于输入元素。

.val()

http://api.jquery.com/val/

.text()

http://api.jquery.com/text/

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