我有一个可编辑的表格,并想循环访问表格以获取所有条目。但是该表有一个选项,因此您可以添加带有输入字段的行。要遍历表,我有以下代码:
function t2array() {
var erg = [];
$("tr").each(function (index) {
var row = {};
var test = ($(this).children().find('input').length > 0) ? (this).children().find('input') : $(this).children('td');
row['bla'] = ($(this).children().find('input').length > 0) ? test[0].val : test[0].textContent;
row['blub'] = ($(this).children().find('input').length > 0) ? test[1].val : test[1].textContent;
...etc...
erg.push(row);
});
}
我知道输入值的选择器不正确,但无论我尝试什么,我总是返回“未定义”或“不是函数”,我不知道如何解决这个问题。
该表非常简单,例如:
<table>
<tr>
<td><input type="text" value="bla"></td>
<td><input type="text" value="blub"></td>
<td><input type="text" value="bling"></td>
</tr>
<tr>
<td>bla2</td>
<td>blub2</td>
<td>bling3</td>
</tr>
</table>
我可以通过以下方式访问一个输入的值:
var bla = $(this).children().find('input').val();
console.log(blab);
但是我尝试了任何方法来使用三元运算符运行它并且失败了。有任何想法吗?