如何在元素中获取文本输入的值(没有JQuery)?

时间:2015-01-26 03:47:21

标签: javascript html

如何在元素中获取文本输入的值?

我有多个ID,所以我先将它们的字符串分配到一个数组中;

var itemArray = ["regpay", "overtime","absent","nightdiff","ctpa","salary","hdmf","otallowance","others"];

我使用for循环

实例化它们
for (var i = 0; i < itemArray.length; i++)
{
    var e = $("<td><input type=\"text\" autocomplete=\"off\" name=\""+itemArray[i]+"\" id=\""+itemArray[i]+"\"/></td>");
    var mytest =e.find('#'+itemArray[i]).val();
    alert(mytest);
}

错误说&#34; $未定义&#34 ;; 如何获取td元素中文本框的值

我也尝试过使用:

try
{
    var Row = document.getElementById(itemArray[i]);
    var Cell = Row.getElementsByTagName("td");
    var val = Cell.getElementById(itemArray[i]);
}

但是val变量没有返回任何内容,所以我假设td没有明确地获取其中的文本框的值。

2 个答案:

答案 0 :(得分:1)

如果您已有#ids的列表,那么您只需使用document.getElementById query selector

&#13;
&#13;
var ids = [ "regpay", "overtime","absent", "nightdiff", "ctpa", "salary",
            "hdmf", "otallowance", "others"];
var r = [];

ids.forEach(function (id) {
  r.push(document.getElementById(id).innerHTML);
})

alert("text found:" + r);
&#13;
<p id='regpay'>0</p>
<p id='overtime'>1</p>
<p id='absent'>2</p>
<p id='nightdiff'>3</p>
<p id='ctpa'>4</p>
<p id='salary'>5</p>
<p id='hdmf'>6</p>
<p id='otallowance'>7</p>
<p id='others'>8</p>
&#13;
&#13;
&#13;

(我在这里使用<p&gt; s,因为我不想创建一个完整的表结构,但上面的内容也适用于<td> s。如果上面的id引用要输入框,您应该使用document.getElementById(id).value代替。您的问题在这方面并不清楚。)

答案 1 :(得分:0)

您不需要jQuery(因此您不需要$)。

您可以在不使用jQuery的情况下连接字符串,如下所示:

"<td><input type=\"text\" autocomplete=\"off\" name=\"" + itemArray[i] + "\" id=\"" + itemArray[i] + "\"/></td>"

此外,for语句中的变量大写(I),而稍后使用的变量不是(i)。如果您希望代码能够正常工作,请确保它们是相同的。