Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jQuery, плагин для редактирования дерева, перегрузка объекта 
:(
    Опции темы
sav21age
Дата 17.4.2009, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



Объекты $('#elements') и $('#treeview') при загрузке забирают в себя списки #elements и #treeview, после нажатия кнопки cut, элемент li списка #treeview переносится в список '#elements', но объект $('#elements') не воспринимает перенесенный li своим(то есть по нему нельзя кликнуть и выделить).

Вопрос, как переинициализировать объект $('#elements'), чтобы он считал перенесенные li своими?

До нажатия кнопки:
Код

<ul id="treeview">
<li><span>пункт 1</span></li>
<li><span>пункт 2</span>
<ul>
   <li><span>пункт 2.1</span></li>
   <li><span>пункт 2.2</span></li>
   <li><span>пункт 2.3</span></li>
</ul>
</li>
<li><span>пункт 3</span></li>
</ul>
 
 
<ul id="elements">
<li><span>пункт 1</span></li>
<li><span>пункт 2</span></li>
<li><span>пункт 3</span></li>
</ul>


После нажатия кнопки:
Код

<ul id="treeview">
<li><span>пункт 1</span></li>
<li><span>пункт 2</span>
<ul>
   <li><span>пункт 2.1</span></li>
   <li><span>пункт 2.3</span></li>
</ul>
</li>
<li><span>пункт 3</span></li>
</ul>
 
 
<ul id="elements">
<li><span>пункт 1</span></li>
<li><span>пункт 2</span></li>
<li><span>пункт 3</span></li>
<li><span>пункт 2.2</span></li>
</ul>


Код

(function($) {
    selectNode = function(obj) {
    var foo = $('li>span',obj);
    $(foo).bind('click', function()
    {
            if ($(this).hasClass('selected')) {
                $(this).removeClass('selected');
            }
            else {
                $(obj).find('span').removeClass('selected'),
                $(this).addClass('selected')
            }
    })};
 
    cut = function(){
        $("button[value='cut']").click(function(){
            var selectedSpan = $('#treeview').find('span.selected');
            var currentLi = selectedSpan.parent('li').removeClass();
            currentLi.remove().appendTo('#elements');
        });
    }
 
    $.fn.editTreeView = function() {
 
        cut();
        selectNode ($('#treeview'));
        selectNode ($('#elements'));
};})(jQuery);

PM MAIL   Вверх
Aliance
Дата 20.4.2009, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 7
Всего: 137



вместо bind мне кажется стоит использовать live для этой операции.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0591 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.