Twitter Bootstrapテーブルの上にカーソルを合わせると強調表示されるクリック可能な行があります(これが簡単になった場合、カーソルを移動する機能を削除できます)。選択した行を別の行をクリックするか、再度クリックします。
$( document ).ready(function() {
$('#myTable').on('click', 'tbody tr', function(event) {
// console.log("test ");
});
そしてテーブル
<table class="table table-bordered table-hover" id="myTable">
<tbody>
<tr>
<tr class='clickable-row'>
私はJSでこのコードを試しましたが、動作しませんでした
$(this).addClass('highlight').siblings().removeClass('highlight');
あなたはとても近いです。 $("#myTable").on(...)
イベントで.clickable-row
クラスをターゲットにし、Bootstrapの.active
クラスを使用するとうまくいくはずです:
HTML:
<table class="table table-bordered" id="myTable">
<tr class="clickable-row">
<th>Example</th>
</tr>
<tr class="clickable-row">
<th>Example 2</th>
</tr>
</table>
Javascript:
$('#myTable').on('click', '.clickable-row', function(event) {
$(this).addClass('active').siblings().removeClass('active');
});
注:テーブルに.table-hover
を残した場合、.active
( blue hightlight になる)など、.bg-info
とは異なるクラスを使用する必要があります。 =)
行からハイライトを削除する(つまり、もう一度クリックする)には、行にクラスがあるかどうかを確認して削除します。
$('#myTable').on('click', '.clickable-row', function(event) {
if($(this).hasClass('active')){
$(this).removeClass('active');
} else {
$(this).addClass('active').siblings().removeClass('active');
}
});
元の情報については、@ BravoZuluの回答を参照してください。
試してください:
$(".clickable-row").click(function(){
if($(this).hasClass("highlight"))
$(this).removeClass('highlight');
else
$(this).addClass('highlight').siblings().removeClass('highlight');
})
色のペイントされた行を表示し、選択されていることを示すには、data-row-style = 'formatterRowUtSelect'
コード内に、このメソッドを追加できます。
formatterRowUtSelect = function (row, index) {
if (row.fieldOfMyObject == $ ('#fieldOfMyObject'). val ())
return {classes: 'row-selected'};
return {};
}
選択した行のCSSを作成することを忘れないでください:
.row-selected {
background-color: #a9f0ff !important;
font-weight: bold;
}
ごあいさつ、お役に立てば幸いです。
ブートストラップテーブルでこのスクリプトを使用しました。
$('#tb-pegawai').on('change', 'tr' , function (event) {
if($('.selected')){ // } })