gpt4 book ai didi

javascript - 获取输入值并将其保存到数组

转载 作者:行者123 更新时间:2023-11-30 10:12:57 26 4
gpt4 key购买 nike

我想遍历表格并将输入值保存到数组中,但出现 js 错误:

Object doesn't support property of method 'find'

这是我的代码:

function Elem(tex, check, r, c)
{
this.text = tex;
this.checkbox = check;
this.row = r;
this.column = c;
}

var Elems = [];

function fill()
{
var table = document.getElementById("tab");
for(var i=table.rows.length-1; i>=2; --i)
{
for(var j=table.rows[i].cells.length-1; j>=1 ; j=j-2)
{
var check = $(table.rows[i].cells[j-1]).find('input');
check = check.is(":checked");
var ans = $(table.rows[i].cells[j]).find('input');
ans = ans.val();
var ans = new Elem(ans, check, i, j/2);
Elems.push(ans);
}
}
}

这是我的 table 的样子:

...
<table id="tab">
<tr>
<td rowspan="2">
<strong>delete row</strong>
</td>
<td>
<strong>checkbox info</strong>
</td>
<td>
<strong>description</strong>
</td>
</tr>
<tr>
<td>
<strong>delete column</strong>
</td>
<td>
<input type='checkbox' name='delColumn_1'/>
</td>
</tr>
<tr>
<td>
<input type='checkbox' name="delRow_1"/>
</td>
<td>
<input type='checkbox' class='check' name="ele.check"/>
</td>
<td>
<input type='text' name="ele.text" required="required"/>
</td>
</tr>
</table>
...

我想从 ele.text 中获取文本值,从 ele.check 中获取复选框值。我将非常感谢您的帮助。

最佳答案

最好的猜测是,您似乎在混合使用传统的 JavaScript 和 jQuery,但没有理解它们之间的联系。

走线:

var check = table.rows[i].cells[j-1].find('input'); //err

如果你简单地把它一点一点地分解,你最终会找到问题所在。

var check = table.rows[i]

然后,如果返回一个非空值,则添加:

var check = table.rows[i].cells[j-1]

Than 也应该是非空的,所以添加最后一位。

var check = table.rows[i].cells[j-1].find('input'); //err

这应该会出错,因为 td 元素上没有 find 方法。

但是,find 是一个众所周知的 jQuery 方法,因此您可能有意

  • 在您的代码中包含对 jQuery 的引用
  • 改成jQuery语法
  • var check = $(table.rows[i].cells[j-1]).find('input');

或者,您也可以看看使用

table.rows[i].cells[j-1].querySelector("input");

我还没有测试过,但应该做你想做的。

关于javascript - 获取输入值并将其保存到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25506915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com