如何获取元素内文本输入的值<td>(无 JQuery)?



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

我有多个 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);
}

错误显示"未定义 $";如何获取 td 元素内文本框的值

我也尝试使用:

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

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

如果您已经有一个#ids列表,那么您所要做的就是使用 document.getElementById 查询选择器:

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);
<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>

(我在这里使用了<p>,因为我不想制作整个表格结构,但上面的内容也适用于<td> s。如果上述 ID 引用输入框,则应改用document.getElementById(id).value。你的问题在这方面不清楚。

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

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

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

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

相关内容

最新更新