シフトキー選択機能と同じように、シフトキーを使用してjQueryデータテーブルで複数の行を選択し、選択した行項目を変数に格納する必要があります。また、クリック イベントを使用して複数の行を選択する必要があります。
1 つの変数を使用して、ライブ クリック行とシフト選択行を渡す必要があります。どうやってそれをするのですか?
これは正しく機能しておらず、選択した行の単一の変数を格納していません。どこが間違っていますか?
私のコード:
var aSelected = [];
var lastSelected;
$('#table tr').live('click', function (event) {
var tableRow = $(this).closest("tr").prevAll("tr").length + 1;
var id = this.cells[0].innerHTML;
var index = jQuery.inArray(id, aSelected);
if (index === -1) {
aSelected.push(id);
} else {
aSelected.splice(index, 1);
}
$(this).toggleClass('row_selected');
if (event.shiftKey) {
var table = $('#table ');
var start = Math.min(tableRow, lastSelected);
var end = Math.max(tableRow, lastSelected);
for (var i = start; i < end; i++) {
$('#table').each(function () {
table.find('tr:gt(' + (start - 1) + '):lt(' + (end) + ')').addClass('row_selected');
});
}
} else {
lastSelected = $(this).closest("tr").prevAll("tr").length + 1;
}
});
たとえば、20行あります。行を選択し、選択した行 ID を渡す 3 つの原因があります。 Ctrlキーを使用して行と余分な2行 他の10行と12行を渡す