jQuery UI Widgets › Forums › Navigation › Tree › Uncaught Reference Error:
Tagged: expand, expandItem, item, jqxtree, json, select, selectItem, Tree
This topic contains 1 reply, has 2 voices, and was last updated by Dimitar 12 years, 1 month ago.
-
Author
-
Hi,
I am building a tree from a json string and I am getting Uncaught ReferenceError: treeItem is not defined.
source = json string.
var dataAdapter = new $.jqx.dataAdapter(source);
dataAdapter.dataBind();
var records = dataAdapter.getRecordsHierarchy(‘id’, ‘parentid’, ‘items’, [{ name: ‘text’, map: ‘label’}]);
$(‘#jqxWidgetTree’).jqxTree({ source: records, width: ‘250px’, theme: theme });I can’t seem to get rid of the error and I am trying to expand one of the nodes and select an element.
$(‘#jqxWidgetTree’).jqxTree(‘expandItem’, element);
$(‘#jqxWidgetTree’).jqxTree(‘selectItem’, element);I am having trouble figuring out what the element var needs to look like to make this happen.
Any suggestions would be greatly appreciated.
Thanks,
Hello wwhalen,
Here is an example in which there is a JSON tree. By clicking two buttons you can either expand the first element or expand a selected element.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title id='Description'>In this demo the jqxTree is built from JSON data.</title> <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" /> <script type="text/javascript" src="../../scripts/gettheme.js"></script> <script type="text/javascript" src="../scripts/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxdata.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxbuttons.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxscrollbar.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxpanel.js"></script> <script type="text/javascript" src="../../jqwidgets/jqxtree.js"></script></head><body> <div id='content'> <script type="text/javascript"> $(document).ready(function () { var theme = getTheme(); var data = [ { "id": "2", "parentid": "1", "text": "Hot Chocolate" }, { "id": "3", "parentid": "1", "text": "Peppermint Hot Chocolate" }, { "id": "4", "parentid": "1", "text": "Salted Caramel Hot Chocolate" }, { "id": "5", "parentid": "1", "text": "White Hot Chocolate" }, { "text": "Chocolate Beverage", "id": "1", "parentid": "-1" }, { "id": "6", "text": "Espresso Beverage", "parentid": "-1" }, { "id": "7", "parentid": "6", "text": "Caffe Americano" }, { "id": "8", "text": "Caffe Latte", "parentid": "6" }, { "id": "9", "text": "Caffe Mocha", "parentid": "6" }, { "id": "10", "text": "Cappuccino", "parentid": "6" }, { "id": "11", "text": "Pumpkin Spice Latte", "parentid": "6" }, { "id": "12", "text": "Frappuccino", "parentid": "-1" }, { "id": "13", "text": "Caffe Vanilla Frappuccino", "parentid": "12" }, { "id": "15", "text": "450 calories", "parentid": "13" }, { "id": "16", "text": "16g fat", "parentid": "13" }, { "id": "17", "text": "13g protein", "parentid": "13" }, { "id": "14", "text": "Caffe Vanilla Frappuccino Light", "parentid": "12" }] // prepare the data var source = { datatype: "json", datafields: [ { name: 'id' }, { name: 'parentid' }, { name: 'text' } ], id: 'id', localdata: data }; // create data adapter. var dataAdapter = new $.jqx.dataAdapter(source); // perform Data Binding. dataAdapter.dataBind(); // get the tree items. The first parameter is the item's id. The second parameter is the parent item's id. The 'items' parameter represents // the sub items collection name. Each jqxTree item has a 'label' property, but in the JSON data, we have a 'text' field. The last parameter // specifies the mapping between the 'text' and 'label' fields. var records = dataAdapter.getRecordsHierarchy('id', 'parentid', 'items', [{ name: 'text', map: 'label'}]); $('#jqxWidget').jqxTree({ source: records, width: '300px', theme: theme }); $("#FirstExpandB").click(function (event) { var FE_search = $("#jqxWidget").find("li"); var FE = FE_search[0]; $("#jqxWidget").jqxTree('expandItem', FE); }); $("#SelExpandB").click(function () { var selectedItem = $('#jqxWidget').jqxTree('selectedItem'); $("#jqxWidget").jqxTree('expandItem', selectedItem.element); }); }); </script> <div id='jqxWidget'> </div> <button id="FirstExpandB"> Expand the first item</button> <button id="SelExpandB"> Expand selected item</button> </div></body></html>
Best Regards,
DimitarjqWidgets team
http://www.jqwidgets.com/ -
AuthorPosts
You must be logged in to reply to this topic.