双击填充了JSON的Bootstrap表行

时间:2017-05-16 13:19:38

标签: javascript jquery html json

我在我的网站上使用Bootstrap并且我从JSON文件中填充了我的表格。我怎样才能获得所选行的所有数据?

这是我的代码:

<?php
$sql = "select * from choisir where Etudiant_Matricule='".$idEquipe."' order by ordre asc";
$result = mysqli_query($conn, $sql) or die("Error in Selecting " . mysqli_error($conn));
while($row =mysqli_fetch_assoc($result)) {
    $emparray3[] = $row;
}
$json_data = json_encode($emparray3);
file_put_contents('tables/fichedevoeux.json', $json_data); ?>

<table data-toggle="table" data-url="tables/fichedevoeux.json" data-show-refresh="true" data-show-toggle="true" data-show-columns="true" data-search="true" data-select-item-name="toolbar1" data-pagination="true" data-sort-name="name" data-sort-order="desc">
<thead>
    <tr>            
        <th data-field="Code" data-sortable="true">Code</th>
        <th data-field="Titre" data-sortable="true">Titre</th>
        <th data-field="Specialite" data-sortable="true">Spécialité</th>
        <th data-field="Technologie" data-sortable="true">Technologie</th>
        <th data-field="Outil" data-sortable="true">Outils</th>
        <th data-field="Promotion_ID" data-sortable="true">Promotions_ID</th>
        <th data-field="Validation" data-sortable="true">Validation</th>                                 
    </tr>
</thead>
</table

我已经尝试了这个,但它不起作用:

$('tr').on('dblclick', function() {
    alert('row clicked');
});

3 个答案:

答案 0 :(得分:2)

我找到了解决方案,谢谢。

var $result = $('#eventsResult');        
$('#eventsTable')
.on('dbl-click-row.bs.table', function (e, row, $element) {
   $result.text('Event: dbl-click-row.bs.table');
   console.log(row);
   console.log($element);
});

&#39; eventsResult&#39;是表的ID。

答案 1 :(得分:0)

您可以在事件处理程序中使用$(this)来获取点击的元素并从那里开始。

E.g。遍历表标题

$('tr').on('dblclick', function() {
    $(this).find("th").each(function() {
        console.log($(this).attr("data-field"));
    });
});

答案 2 :(得分:0)

首先,我怀疑你是否想要双击表头,所以你可能想要:

$('tbody tr').on('dblclick', function() {
    // what do you need here?
    var fullHtml = $(this).html();
    // want a data tag?
    var dataTag = $(this).data("whatevertag");
});

我们可以在没有任何额外信息的情况下回答这个问题。