我无法从文本框中获取价值。传统的javascript getElementByName返回错误:undefined。我可以在其他示例中使用jQuery和select。但无法在输入标签的任何地方找到参考。此行显示语法错误:
var total = = $('input[name='+formQty+'] :text').val();
选择文本框的值/文本的jquery是什么?
答案 0 :(得分:2)
var total = $('input[name='+formQty+'] :text').val();
在input
标记上粘贴ID属性并使用此
var total = $('#myInputId').val();
确保您从加载的dom中调用它:
$(function() {
var total = $('#myInputId').val();
});
答案 1 :(得分:1)
据我所知,您的查询选择器不正确。
它应该是'input[name='+formQty+']:text'
:text
,因为它正在尝试选择当前输入下面的任何文本元素而不会产生任何结果。您甚至可以删除:text
并仅根据名称选择元素。如果您正确选择了输入元素,.val()
应该可以正常工作。
您还应该通过在没有函数调用的情况下执行$('...')方法来调试它,并查看返回的元素。
答案 2 :(得分:0)
关于将此问题与getElementByName()
一起使用的问题 - 这可能是因为该方法实际上是getElementsByName()
- 请注意复数元素S.它返回具有指定名称的所有元素的列表,可通过数组语法访问;即使只有一个匹配元素,你仍然会得到一个列表(其中只有一个)。
如果您确定只有一个具有指定名称的元素,您可以这样做:
var elementValue = document.getElementsByName(name)[0].value;