Изменить CSS элемента в после события Move сортировки Knockout

Я хочу изменить CSS элемента после его перетаскивания ( afterMove событие) в контейнер, используя сортируемую библиотеку нокаута. Я попытался получить идентификатор элемента div, содержащего элемент, и изменить его CSS в afterMove событие как:

document.getElementById('container').style.backgroundColor="yellow";

Приведенный выше код не меняет цвет перемещенного элемента, но самый первый элемент в наблюдаемом массиве элементов. Я приложил скрипач JS текущей ситуации. Является ли их способ доступа к div ID элемента, который был перемещен, так что изменяется только CSS этого конкретного элемента?

Прикрепленный скрипач JS

1 ответ

Решение

Добавьте перемещенную собственность своим студентам

var Student = function(id, name, gender) {
    this.id = id;
    this.name = ko.observable(name);
    this.gender = gender;
    this.moved = ko.observable(false);
};

Привязать CSS для элементов, чтобы использовать его:

<div id="container" style="background-color: white; margin:4px;">
    <p data-bind="text: name, css:{two:moved}"></p>
</div>

Установите свойство после переезда:

this.updateLastAction = function(arg) {
    arg.targetParent()[arg.targetIndex].moved(true);
};

http://jsfiddle.net/UdXr4/846/

Другие вопросы по тегам