Это можно сделать только с помощью JavaScript. Событие selected
должно использоваться для определения конца выбора. Затем проверьте, имеет ли предыдущая / следующая строка / ячейка класс selected
. Если это так, добавьте класс для работы с соответствующей границей.
Посмотрите на код, я использовал описательные имена.
Скрипка: http://jsfiddle.net/UxwD4/11/
CSS:
.ui-border-top { border-top: #eee; }
.ui-border-right { border-right: #eee; }
.ui-border-bottom { border-bottom: #eee; }
.ui-border-left { border-left: #eee; }
JavaScript:
$("tbody").selectable({
filter: 'td:not(.user)',
selected: function(){
$('td.ui-selectee', this).each(function(){
var cell = $(this),
row = cell.parent(),
cellIndex = cell.index();
cell.removeClass('ui-border-top ui-border-right ui-border-bottom ui-border-left');
if (cell.hasClass('ui-selected')) {
var up = row.prev().children().eq(cellIndex).hasClass('ui-selected'),
right = cell.next().hasClass('ui-selected'),
down = row.next().children().eq(cellIndex).hasClass('ui-selected'),
left = cell.prev().hasClass('ui-selected');
if (up) cell.addClass('ui-border-top');
if (right) cell.addClass('ui-border-right');
if (down) cell.addClass('ui-border-bottom');
if (left) cell.addClass('ui-border-left');
}
});
}
});