如何在元素中获取文本输入的值?
我有多个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没有明确地获取其中的文本框的值。
答案 0 :(得分:1)
如果您已有#ids
的列表,那么您只需使用document.getElementById
query selector:
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;
(我在这里使用<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
)。如果您希望代码能够正常工作,请确保它们是相同的。