我的页面上有两个表格。
在我的第二个表中,我动态添加来自 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>
中获取多个输入的值位于特定表内并将值存储在数组中?
最佳答案
如果您的类是相同的,您可以使用 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 演示 here .
关于javascript - 循环多个TD,抓取多个值,填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25795587/