页面上有两个表格。
在我的第二个表中,我正在从JS动态添加html。
我正在检查<tr>
内的tbody
是否为空,使用:
var rowCount = $('#dynatable >tbody >tr').length;
如果行数为0,我继续使用我的javascript,如果存在1个或多个<tr>
,我需要遍历每个<tr>
并获取<td>
中的两个输入值;每个<tr>
可用。然后需要将数据收集到一个数组中以进行服务器端处理。
<table id="dynatable">
<thead>
<tr>
<th>Time</th>
<th>Description</th>
</tr>
</thead>
<tbody id="p_scents">
<tr><td class="ts_td"><input type="text" name="ts_value[]" class="timestamp_input"/></td><td><TEXTAREA NAME="ts_description[]" class="ts_desc" rows="3" cols="30" style="resize:none;" ></TEXTAREA></td></tr>
<tr><td class="ts_td"><input type="text" name="ts_value[]" class="timestamp_input"/></td><td><TEXTAREA NAME="ts_description[]" class="ts_desc" rows="3" cols="30" style="resize:none;" ></TEXTAREA></td></tr>
</tbody>
我浏览了类似的问题,但我无法找到适合我情况的解决方案。我之前的解决方案使用的是simpleHTMLDOM + PHP,但它的性能太慢了。
我被告知使用JS或jquery,我对这两者都很不熟悉,非常感谢任何帮助。
如何从特定表中的多个<tr>
中获取多个输入的值并将值存储在数组中?
答案 0 :(得分:1)
如果你的类是相同的,你可以用jQuery做这样的事情。
它将值放入数组中。
var values = $("input[class='timestamp_input']").map(function(){return $(this).val();}).get();
var textAreaValues = $("textarea[class='ts_desc']").map(function(){return $(this).val();}).get();
console.log(values);
console.log(textAreaValues);
JSFiddle demo here。