【发布时间】:2015-05-09 03:01:10
【问题描述】:
我有这个有 2 列的表,personID 和 Name。第一列是隐藏的。我还添加了一个隐藏的输入字段。我这样做是因为每当我刷新页面时,我都能在一瞬间看到它的值。
我实际上使用了数据表。如果单击表格主体,我想显示 personID。我的问题是我无法显示 personID。
<div class="row table-responsive">
<table class="table table-bordered table-striped table-condensed" id="table_data">
<thead class="header">
<tr class="well">
<th></th>
<th>Person Name</th>
</tr>
</thead>
<tbody>
<?php if($result != NULL){?>
<?php foreach($result as $row){ ?>
<tr>
<td> <input type="hidden" name="personID" id="personID" value="<?php echo $row->personID;?>" />
</td>
<td ><?php echo $row->lname.", ".$row->fname." ".$row->mname;?></td>
<?php }}?>
</tbody>
</table><!-- END Table-->
</div><!-- END table-responsive-->
javascript代码:
var table = $('#table_data').DataTable({
"bLengthChange": false,
"columnDefs": [
{
"targets": [ 0],
"visible": false,
"searchable": false
}
]
});
$('#table_data tbody').on( 'click', 'tr', function () {
if ( $(this).hasClass('active') ) {
$(this).removeClass('active');
}
else {
$(this).addClass('active');
var d = $('input[type=hidden]', $(this).find("td:first")).val();
alert(d);
}
} );
我已经尝试了以下方法:
我在这里得到了一个未定义的结果:
var d = $(this).parent('td').find('input[type="hidden"]').val();
var d = $('input[type=hidden]', $(this).find("td:first")).val();
此处未显示警报:
var d=document.getElementById('personID').value;
当我尝试这个时,它给了我这个结果,<input name="personID" id="personID" value="19" type="hidden">:
var d= $(this).parents('tr').find('input[type="hidden"]').val();
请帮帮我..
【问题讨论】:
-
d应该出现在您的结果中吗? -
@CodeGodie,
d获取第一列的值..
标签: javascript jquery codeigniter datatable