2015-06-28 25 views
2

我正在使用jsTree,并且想要获取刚刚创建的节点的名称/值/文本,以便我可以将其传递并存储在数据库中。 我的问题是,启用编辑模式后,我没有办法获取用户输入的值。 我的想法是,如果我只能确定编辑模式是打开还是关闭,那么我可以运行一个函数来获取用户的输入。我在这里包含了创建节点的功能。如何检查jstree中的编辑模式是否打开?是否可以检查它?

任何其他方式来解决这个问题非常感谢。提前致谢。一旦节点名称更改

function demo_create(){ 
      var ref = $('#data').jstree(true), 
      p_id = sel = ref.get_selected(); 
      console.log("Parent Id: "+p_id); 
      if(!sel.length) { return false; } 
      sel = sel[0]; 
      id = sel = ref.create_node(sel, {"type":"file"}); 
      console.log("Newly Created Id: "+id); 
      if(sel) { 
       ref.edit(sel); 
      } 
     }; 
+0

@vakata能否请你帮忙吗? – maysensei

+0

@maysensei什么? – maysensei

回答

1

edit将触发rename_node.jstree

您还可以使用的edit回调:

ref.edit(sel, null, function (node, status) { 
    console.log(node.text); // the new node title 
}) 
+0

我不知道如何使用编辑回调来获取用户输入的新值。任何想法如何解决这个问题? – maysensei

+0

如果你想对用户改变标题做出反应 - 使用'create_node.jstree'。如果你坚持使用'edit'回调 - 你可以从'node.text'获得新的标题。 – vakata

+0

非常感谢!我在左边打了“有用的标记”,但它说,直到我不能获得15的声望,我认为我不能改变显示的分数。 – maysensei