Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何调用嵌套在表格单元格中的textarea属性?_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 如何调用嵌套在表格单元格中的textarea属性?

Javascript 如何调用嵌套在表格单元格中的textarea属性?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个网站,我可以上传一张Excel表格,它将在网站上的表格中打印出来。表格的某些单元格具有可编辑的文本区域。在表的末尾有一个按钮,该按钮应将所有内容保存在一个数组中 该表有3列和多行。第2列和第3列的文本区域嵌套在表格单元格中。现在我想在JS中调用当前textarea的Id的数组中存储textarea值。textarea的ID是动态给出的,数组也应该动态填充。我想遍历所有表格单元格并保存当前表格单元格/textarea的值。表格单元格没有问题。但是文本区域的功能不起作用 首先,我检查了每个表

我有一个网站,我可以上传一张Excel表格,它将在网站上的表格中打印出来。表格的某些单元格具有可编辑的文本区域。在表的末尾有一个按钮,该按钮应将所有内容保存在一个数组中

该表有3列和多行。第2列和第3列的文本区域嵌套在表格单元格中。现在我想在JS中调用当前textarea的Id的数组中存储textarea值。textarea的ID是动态给出的,数组也应该动态填充。我想遍历所有表格单元格并保存当前表格单元格/textarea的值。表格单元格没有问题。但是文本区域的功能不起作用

首先,我检查了每个表行和单元格,并将文本放入数组中。 它起作用了,但后来我注意到,当我编辑文本区域时,更新的值不会被接受。首先,我使用了.text(),然后我尝试了.val(),但没有成功。 我想问题是我调用了“td”上的.val(),它是“”

PHP:

echo“”。(!empty($r[1])?$r[1]:'';
$taID++;
JS:

但我不知道如何调用textarea的ID。还是有更简单的方法

希望你能理解这个问题并能帮助我。
对不起,没有完美的英语,我是德国人,这是我的第一个问题:)

你可以使用
map
在每个
tr
之间循环
find
all
textarea
s和
reduce
到使用id作为属性名称和值的对象

var result=$('tblAusgabe tr').map(函数(i,o){
返回$(o).find('textarea').get().reduce(函数(c,v){
c[v.id]=v.value;
返回c;
}, {});
}).get();
控制台日志(结果)

1苹果橙
1雷德蓝
1HPJavaScript

用另一种方法解决了这个问题。我是用一个计数器做的,每次通过一个文本区,计数器都会数到1

tableData[arrIndex][mitarbeiterCount][i]=document.getElementById("ta"+count).value;
count++;

您能发布输出的示例结构吗?示例HTML表格你的意思是什么?你的结果数组看起来像什么@Eddy_SPLMy table有5个标题,所以3d数组的第一个索引是标题,第二个是行,第三个是列我想遍历每个表格单元格,并在运行时处理单元格值。是否有可能在运行时获取我当前文本区域的ID?
var id = $(thisElement).attr('id');
array[index]= $(id).val();
tableData[arrIndex][mitarbeiterCount][i]=document.getElementById("ta"+count).value;
count++;