自舉表,類不是selected
而你可能想active
。 (雖然我猜任何contextual class都可以工作。)
我使用的是DataTables v1.10.10,我也需要突出顯示所選行。我相信我已經退出了相關代碼:
$('#MY_TABLE tbody').on('click', 'tr', function() {
table.$('tr.active').removeClass('active');
$(this).addClass('active');
}
上面設置了一個事件偵聽器上連續點擊。 active
類將從任何已激活的行中刪除,並添加到接收到單擊事件的行中。
編輯我忘了考慮你提到你想要使用鍵盤導航而不是鼠標點擊來突出顯示該行。所以我的回答不是100%,但我認爲它會解決你所提出的問題。如果您無法適應您的需求,請告訴我,我會提出更具體的答覆。
編輯2
請參閱this modification到原來的小提琴。它在Bootstrap上下文類中工作正常。這一次,我正在使用.info
。
的修改,我提出:
- 移動的資源到資源面板。 (我只是這麼做的,因爲網站建議這樣做,而且我不認爲顯示的表具有Bootstrap樣式,所以我認爲鏈接資源可能存在錯誤。)
我編輯了原始標記以使用Bootstrap類。
<table id="example" class="table table-striped table-bordered table-condensed" width="100%">
正如所提到的,我所用的自舉info
類和添加了JavaScript的線將其添加到當前行之前除去從先前選擇的行中的類:
table.$('tr.info').removeClass('info');
$(row.node()).addClass("info");`
第二點是讓它起作用的關鍵 - 也就是說,始終使用Bootstrap CSS規則。 (這和從前面的活動行中刪除類)。我意識到這個答案導致你的風格,你可能不會升值改變。但它回答了你的問題,爲什麼你必須定義一個select
規則,並且可能你正在使用Bootstrap,因爲你喜歡他們的樣式選擇。
您需要添加css規則:https:// jsfiddle。net/hqxq7dk1/3/ –
不要爭論,因爲你的建議可行,但我認爲'selected'類是在bootstrap的某個地方定義的。 – gaitat
使用'Select'擴展名可能會更好:https://datatables.net/extensions/select/ [https://jsfiddle.net/hqxq7dk1/4/] –