这是我对温之新的Bootstrap表的一个问题。
如果我有一个附加了动作的选择器(即链接)(例如 on('click',fucntion(){...}); )在任何单元格中,页面更改时不会触发操作,应用排序搜索。
以下是一个简短示例:https://jsfiddle.net/L4h0gs4g/
HTML :
<table class="table table-striped table-bordered table-hover table-condensed table-responsive"
data-show-toggle="true"
data-show-columns="true"
data-toggle="table"
data-sort-name="device"
data-sort-order="desc"
data-striped="true"
data-pagination="true"
data-search="true">
<thead>
<tr>
<th data-sortable="true" data-field="device">Device</th>
<th data-sortable="true" data-field="assettag">Asset Tag</th>
<th data-sortable="true" data-field="serial">Serial No.</th>
<th data-sortable="false">Service<br />History</th>
</tr>
</thead>
<tbody>
<tr>
<td>RICOH SPC242SF PRINTER</td>
<td>C013991</td>
<td>T222PB01287</td>
<td class="fleet_machine_actions">
<a href="javascript:void(0);" class="machine_actions" title="Service History">check</a>
</td>
</tr>
<tr>
<td>RICOH SPC242SF PRINTER</td>
<td>C013991</td>
<td>T222PB01287</td>
<td class="fleet_machine_actions">
<a href="javascript:void(0);" class="machine_actions" title="Service History">check</a>
</td>
</tr>
</tbody>
</table>
的jQuery :
<script>
$(document).ready(function() {
$(".machine_actions").on('click', function(e){
alert($(this).attr("title"));
});
})
</script>
该链接首先会触发警告框,但如果您对表格进行排序,则不会再次触发。就像表格被更改/更新后,jQuery无法看到该选择器。
这是一个已知的错误还是根本没有解决方法?
也发布在https://github.com/wenzhixin/bootstrap-table/issues/2488
上答案 0 :(得分:3)
您可以使用:
$(document).on('click', '.machine_actions', function(e){
alert($(this).attr("title"));
});
https://jsfiddle.net/L4h0gs4g/1/
顺便说一句,你可以使用列选项:events
来做你想做的事:http://bootstrap-table.wenzhixin.net.cn/documentation/#column-options