【发布时间】:2019-04-22 19:56:21
【问题描述】:
我需要从一行中的特定表列中获取。所有数据都应该被推入一个数组。 我应该从不同列(1,3,4)的每个选中行中获取数据。第 4 列包含下拉选项,它应该只采用选定的值。 我很难让这个功能工作,如果我只有一列,它就可以工作。我在从中检索数据时遇到了麻烦,它从选项值中检索所有数据,我应该只获得选定的值。
function getData() {
// Enumerate over each checked checkbox
$('input:checked').each(function() {
var row = [];
$(this).closest('tr').find('td:eq(5)').each(function() {
row.push($(this).text());
});
// Add this row to our list of rows
rows.push(row);
//debugger;
});
console.log(row);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<th>#</th>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Country</th>
</tr>
<tr>
<td><input type="checkbox" id="checkbox" value="1"></td>
<td>Jill</td>
<td>Smith</td>
<td>20</td>
<td>
<select id="country">
<option value='1'>Germany</option>
<option value='2'>England</option>
<option value='3'>Croatia</option>
<option value='4'>USA</option>
</select>
</td>
</tr>
<tr>
<td><input type="checkbox" id="checkbox" value="2"></td>
<td>Eve</td>
<td>Jackson</td>
<td>14</td>
<td>
<select id="country">
<option value='1'>Germany</option>
<option value='2'>England</option>
<option value='3'>Croatia</option>
<option value='4'>USA</option>
</select>
</td>
</tr>
<tr>
<td><input type="checkbox" id="checkbox" value="3"></td>
<td>Amanda</td>
<td>Jac</td>
<td>14</td>
<td>
<select id="country">
<option value='1'>Germany</option>
<option value='2'>England</option>
<option value='3'>Croatia</option>
<option value='4'>USA</option>
</select>
</td>
</tr>
</table>
<button type="button" onclick="getData()">Submit</button>
函数只显示一列中的数据。如果我添加 .'td:eg(6)' 我得到空数组
【问题讨论】:
-
请分享minimal reproducible example。您的 javascript 不足以运行代码并了解问题所在。
-
@Oram 我更新了代码
-
@Bruno 你想要包含一行中所有数据的对象数组还是只包含选定的下拉值?
-
@MohanRajput 我想要一个包含来自第 1、3 和 4 列(名字、年龄、国家)的数据的数组,该数组被选中的下拉值
标签: javascript jquery