ฉันใช้ jstree เพื่อแสดงโหนดบางส่วน (รวมถึงปลั๊กอิน DnD, Type และ Contextmenu) ฉันได้รับทั้งทรีโดยไม่มีปัญหา แสดงอย่างถูกต้องและฉันสามารถเลือกโหนดใดก็ได้ แต่หลังจากใช้การดำเนินการอัปเดต (โดยการเรียก Ajax ไปยังเซิร์ฟเวอร์) บนโหนดเดียว ฉันต้องการรีเฟรชสิ่งนี้ (และเฉพาะสิ่งนี้) โหนด การดำเนินการรีเฟรช_node(myNode) คือสิ่งที่ฉันต้องการ และการเรียก Ajax ก็ใช้งานได้ดีและให้เฉพาะส่วนย่อยที่ฉันต้องการเท่านั้น
แต่เมื่อ jstree พยายามวาดใหม่ ฉันได้รับข้อผิดพลาดเกี่ยวกับตัวแปรที่ไม่มีอยู่จริง ฉันแก้ไขจุดบกพร่องแล้วและสังเกตว่าอาร์เรย์พาเรนต์ของบางโหนดหายไป
ฉันใช้รูปแบบ JSON สำรองเพื่อโหลดแผนผังของฉัน ด้วยการกำหนดค่านี้:
core{
multiple: false,
data {
url: "my_url_string_to_server",
data: function(node) { return { id: nodeId, /*other params*/ } }
}
}
/*other plugins config*/
และการเรียกของฉันไปที่ Refresh_node:
//nodeId is a string with the name of the node I want to refresh.
var node = $.jstree.reference('.tree-data').get_node(nodeId);
$.jstree.reference('.tree-data').refresh_node(node);
//I tried refresh_node(nodeId) too, with the same error result.
โหนดต้นไม้ทั้งหมดของฉันคือ: { "id", "UniqueId", "parent": "Parent" }, "text", "Name" }, "state": { }, "type": "type" "li_attr" : { { "title", "title" }, { "class", "class" } } "a_attr": { { "class", "class" } }, "data": { { "dbid", "Id " }, { "dbparent", "ParentId" }, { "สถานะ", "statusId" } } }
ตามที่ระบุไว้ในเอกสารประกอบ jstree (ดู 'รูปแบบ JSON ทางเลือก')
ส่งคืนรายการของพวกเขา (โหนดที่จำเป็นและลูกทั้งหมด) อันเป็นผลมาจากการโทร ajax (ไม่สนใจว่าจะมีการเรียกโหนดรูทหรือโหนดอื่นที่ไม่ใช่รูท)
กรุณาบอกฉันว่าฉันทำอะไรผิด?
ขอบคุณมากล่วงหน้า.