Я применил к таблице контекстное меню и JQuery-интерфейс.Я пытаюсь добиться того, чтобы, если я щелкнул правой кнопкой мыши за пределами выделенных ячеек, выделенные ячейки исчезли бы, а текущая ячейка, по которой щелкнули правой кнопкой мыши, должна быть выделена.
Я попробовал это, удалив выбранный класс ui из выбираемых элементов, но это было бесполезно.Вот ссылка JS Fiddle.
Как мне продолжить это.
$("tbody").selectable({
//filter: 'td',
filter: '.rosterCell',
//stop: function() {
// var result = $("#select-result").empty();
// $(".ui-selected", this).each(function() {
// //result.append(" #" + ($(this).attr("value")));
// result.append( $(this).text() );
//
// });
// //console.log(result);
//},
selected: function(event, ui) {
// Mark cell as selected.
//console.log(ui);
//console.log(ui.selected);
//console.log("cellIndex: ",ui.selected.cellIndex);
//console.log("rowIndex: ",ui.selected.dataset.rowindex);
colIndex = ui.selected.cellIndex -1;
rowIndex = ui.selected.dataset.rowindex;
foo[rowIndex][colIndex]= true;
for(let row = 0; row<foo.length; row++){
for (let col = 0; col<foo[row].length; col++){
if (foo[row][col] == true){
console.log(row,col,"selected");
}
}
}
//console.log(foo);
},
unselected: function(event, ui) {
// Unmark cell as selected
foo = [[false,false,false,false],[false,false,false,false],[false,false,false,false],[false,false,false,false],[false,false,false,false]];
//console.log("UNSELECTED: " + $(this).text());
}
});