如何从 td (table), JavaScript 获取 CheckBox 的值?
How to get a value of a CheckBox from td (table), JavaScript?
我有一个带有文本数据的 table,但在一个单元格中我有一个复选框。我可以从 td 中提取数据,但我不知道如何提取复选框值
这是我试过的(见附图!)
$('#tableData tbody tr:eq('+row+')').find('td:eq(8)').eq(0).value
https://drive.google.com/file/d/0BxKM9sqBGY28cXp5ZzVCc0dRc28/view?usp=sharing
$('#tableData tbody tr:eq('+row+')').find('td:eq(8) input').is(':checked')
你可以这样做:
$('#tableData tbody tr:eq('+row+') td:eq(8) input').val()
您定位的是 td
元素,而不是 input
,不是吗?尝试:
$('#tableData tbody tr:eq('+row+') td:eq(8) input').val()
您可以查询复选框本身。 (更好的是,给复选框一个名称或 ID 并查询它。)
alert($('input[type=checkbox]').val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table><tr><td><input type="checkbox" value="99"></td></tr></table>
您根本没有在查询中指定复选框。
尝试更改:
$('#tableData tbody tr:eq('+row+')').find('td:eq(8)').eq(0).value
收件人:
$('#tableData tbody tr:eq('+row+')').find('td:eq(8)').eq(0).find('checkbox').val();
复选框有 2 种状态。选中和未选中。
要获取值,请使用 .prop('value') - 请在底部查看我的 JSFiddle。 (我也更新了示例)
我希望您在控件上正确设置了选中的值(从您的代码中不清楚您是否试图将值设置为某个值并期望看到选中的复选框,或者您是否正确设置 "checked" 属性.
<input type="checkbox" id="myCheckboxId" value="0" checked>
在 jquery 中使用选择器找到复选框。请搜索 SO,因为有很多示例。用 "row" 作为计数器循环不是最好的方法,在 table 上使用 .each 来查找带有选中复选框的行。
即使使用您添加的内容和控件的 ID(复选框):
var isChecked = $('#tableData tbody tr:eq('+row+')').find('myCheckboxId').is(':checked');
或者:
var isChecked = $('#tableData tbody tr:eq('+row+') input:checkbox').is(':checked');
var checkBoxValue = $('#tableData tbody tr:eq('+row+') input:checkbox').prop('value');
我有一个带有文本数据的 table,但在一个单元格中我有一个复选框。我可以从 td 中提取数据,但我不知道如何提取复选框值
这是我试过的(见附图!)
$('#tableData tbody tr:eq('+row+')').find('td:eq(8)').eq(0).value
https://drive.google.com/file/d/0BxKM9sqBGY28cXp5ZzVCc0dRc28/view?usp=sharing
$('#tableData tbody tr:eq('+row+')').find('td:eq(8) input').is(':checked')
你可以这样做:
$('#tableData tbody tr:eq('+row+') td:eq(8) input').val()
您定位的是 td
元素,而不是 input
,不是吗?尝试:
$('#tableData tbody tr:eq('+row+') td:eq(8) input').val()
您可以查询复选框本身。 (更好的是,给复选框一个名称或 ID 并查询它。)
alert($('input[type=checkbox]').val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table><tr><td><input type="checkbox" value="99"></td></tr></table>
您根本没有在查询中指定复选框。
尝试更改:
$('#tableData tbody tr:eq('+row+')').find('td:eq(8)').eq(0).value
收件人:
$('#tableData tbody tr:eq('+row+')').find('td:eq(8)').eq(0).find('checkbox').val();
复选框有 2 种状态。选中和未选中。
要获取值,请使用 .prop('value') - 请在底部查看我的 JSFiddle。 (我也更新了示例)
我希望您在控件上正确设置了选中的值(从您的代码中不清楚您是否试图将值设置为某个值并期望看到选中的复选框,或者您是否正确设置 "checked" 属性.
<input type="checkbox" id="myCheckboxId" value="0" checked>
在 jquery 中使用选择器找到复选框。请搜索 SO,因为有很多示例。用 "row" 作为计数器循环不是最好的方法,在 table 上使用 .each 来查找带有选中复选框的行。
即使使用您添加的内容和控件的 ID(复选框):
var isChecked = $('#tableData tbody tr:eq('+row+')').find('myCheckboxId').is(':checked');
或者:
var isChecked = $('#tableData tbody tr:eq('+row+') input:checkbox').is(':checked');
var checkBoxValue = $('#tableData tbody tr:eq('+row+') input:checkbox').prop('value');