javascript - 循环多个TD,抓取多个值,填充数组

标签 javascript jquery html

我的页面上有两个表格。 在我的第二个表中,我动态添加来自 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/

相关文章:

javascript - jquery 1.8 及更高版本,将一个 div 的高度设置为与另一个 div 相同

javascript - jQuery 调整大小和文档就绪组合

javascript - 使用 jQuery 从 ajax/jsonp 请求输出 html

javascript - 如何通过点击缩略图显示/隐藏大图?

jquery - slider 拇指更容易捕获触觉设备

javascript - 如何保存应用了 CSS 滤镜的图像

html - 如何在视频中嵌入GPS

javascript - 父级的div高度

javascript - 如何将数组的元素作为参数传递给 JavaScript 中的函数?

javascript - HTML5 视频 : How to Cover Controllers with a poster