2013-09-17 3 views
2

У меня возникли трудности с удалением дочерних узлов выбранного узла.Как удалить дочерние узлы выбранного узла в jstree?

$(function() { 
$("#tree").jstree({ 
    "json_data" : { 
     "data" : [ 
      { 
       data : "/", 
       attr : { "id" : "root"}, 
       state : "closed", 
       "children" : [ { "data" : "child1", 
           "attr" : { "id" : "child1.id" }, 
           "children" : [ ] } 
          ] 
      }, 
     ] 
    }, 
    "plugins" : [ "themes", "json_data", "crrm", "ui" ] 
}) 

Я использую $ ("# дерево") jstree ("удалить", data.rslt.obj). для удаления дочерних узлов ниже самого узла, но также удаляет выбранный узел. Как удалить только дочерние узлы выбранного узла, а не выбранного узла?

+0

Вы будете хотеть, чтобы получить детей, а затем вызвать метод удалить на каждом из них, если функция удалить не может обрабатывать массив узлов. К сожалению, jstree - это старый проект, который долгое время не любил. Проверьте дерево DHTML, если вам нужно что-то, что имеет более чистый API и лучшую поддержку. http://dhtmlx.com/docs/products/dhtmlxTree/index.shtml – Redtopia

+0

Я понимаю процедуру, но ищет ее реализацию. К сожалению, проект, над которым я работаю, уже реализован в jstree, поэтому я хочу сделать несколько изменений, чтобы решить эту задачу, вместо того, чтобы полностью изменять API. В любом случае, спасибо за совет :) – RAhul

ответ

2

Как правильно указала @Redtopia, у jsTree нет чистого API.

К сожалению, я считаю, что решение должно быть что-то вроде:

$("#tree").jstree("remove",data.rslt.obj.find('li')); 
+0

Я тоже согласен с @REdTtopia. Спасибо вам за помощь. Я ценю – RAhul

Смежные вопросы