Обновить атрибуты элемента при сортировке - PullRequest
0 голосов
/ 05 января 2010

Я новичок в jQuery и мне нужна помощь с моим маленьким проектом. Я делаю перетаскивание списка, чтобы перемещать видеоклипы и подсчитывать их время при перетаскивании на конечную цель ... и это работает нормально ... Но главная проблема в том, что я хочу отсортировать позиции в целевом div. Я не знаю, как заставить все элементы обновляться по времени с помощью события sortable-> change. Я хочу, чтобы "время" появлялось после каждого div, как показывает мой код. Это время, когда клип должен начаться. Я считаю, что мне нужно очистить все атрибуты с помощью $("b").remove(); (я только хочу обновить время), а затем использовать функцию $.each();, чтобы пересчитать все элементы и затем добавить к ним «время». Кто-нибудь может мне помочь с этим?

Вот мой код: http://lukasz.webh.pl/test.html

Чтобы уточнить, чего я хочу достичь: Например, допустим, это будет расписание программ интернет-радиостанций. На левой руке у нас есть доступные программы. Мы выбираем программу, которую хотим добавить в расписание, и перетаскиваем ее в пункт назначения DIV. Затем скрипт собирает свое время и показывает, когда он должен начаться. Таким образом, каждый элемент (время) должен быть суммой предыдущих элементов. И теоретически это работает, пока мы не хотим изменить положение программы ...

Ответы [ 2 ]

1 голос
/ 05 января 2010

попробуйте заменить эту строку

$(this).append("<b>" + czas + " </b>");

с

var timefield = $(this).find("b");
if(timefield.length){
  timefield.html(czas);
}else{
  $(this).append("<b>" + czas + " </b>");
}
0 голосов
/ 05 января 2010

Если вы хотите, чтобы у всех элементов было одинаковое время, почему бы не выполнить команду:

$('b').html(newTime);

Тогда вы можете обновить все сразу.

...