如何在模式 bootstrap 中单击行 table?
How do click row table in modal bootstrap?
我在 table 中绑定了数据并以模式 bootstrap 显示它们。
我想使用单击或双击获取第 table 行的数据,但它不起作用
<div class="modal-body">
<table id="table_search" class="table table-hover">
<thead>
<tr>
<td>CCA</td>
<td>Name</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
而我使用jquery如下
$('#table_search > tbody > tr').click(function () {
alert( $(this).val());
});
$('#table_search > tbody > tr').dblclick(function () {
alert($(this).val());
});
但它不起作用。
问题在于 "click" 甚至在元素存在之前就对其进行了绑定。在将行添加到 DOM 后,您必须重新绑定,或者使用 "on":
将父结构绑定到任何子选择器
$('#table_search > tbody').on('click', '>tr', function () {
alert( $(this));
});
$('#table_search > tbody').on('dblclick', '>tr', function () {
alert($(this));
});
我认为您应该在此处使用事件委托或附加事件
当显示模态时。另外 tr
没有您想要的值 text
$(document).on('click dblclick', '#table_search > tbody > tr', function (e) {
alert($(this).text());
});
这是一个有效的 fiddle。其他人先于我提出了解决方案的核心。我基本上在 fiddle.
中综合了他们的答案
https://jsfiddle.net/stephen_hartzell/seapkzvv/
HTML
<div class="modal-body">
<table id="table_search" class="table table-hover">
<thead>
<tr>
<td>CCA</td>
<td>Name</td>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
</tbody>
</table>
</div>
Javascript
$('#table_search > tbody').on('click', '>tr', function () {
alert( $(this).text());
});
$('#table_search > tbody > tr').dblclick(function () {
alert($(this).text());
});
我在 table 中绑定了数据并以模式 bootstrap 显示它们。
我想使用单击或双击获取第 table 行的数据,但它不起作用
<div class="modal-body">
<table id="table_search" class="table table-hover">
<thead>
<tr>
<td>CCA</td>
<td>Name</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
而我使用jquery如下
$('#table_search > tbody > tr').click(function () {
alert( $(this).val());
});
$('#table_search > tbody > tr').dblclick(function () {
alert($(this).val());
});
但它不起作用。
问题在于 "click" 甚至在元素存在之前就对其进行了绑定。在将行添加到 DOM 后,您必须重新绑定,或者使用 "on":
将父结构绑定到任何子选择器 $('#table_search > tbody').on('click', '>tr', function () {
alert( $(this));
});
$('#table_search > tbody').on('dblclick', '>tr', function () {
alert($(this));
});
我认为您应该在此处使用事件委托或附加事件
当显示模态时。另外 tr
没有您想要的值 text
$(document).on('click dblclick', '#table_search > tbody > tr', function (e) {
alert($(this).text());
});
这是一个有效的 fiddle。其他人先于我提出了解决方案的核心。我基本上在 fiddle.
中综合了他们的答案https://jsfiddle.net/stephen_hartzell/seapkzvv/
HTML
<div class="modal-body">
<table id="table_search" class="table table-hover">
<thead>
<tr>
<td>CCA</td>
<td>Name</td>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
</tbody>
</table>
</div>
Javascript
$('#table_search > tbody').on('click', '>tr', function () {
alert( $(this).text());
});
$('#table_search > tbody > tr').dblclick(function () {
alert($(this).text());
});