This question is locked. New answers and comments are not allowed.
I have a strange issue - testing to see if a node has a parent is not working in IE. This similar code works fine in other views in IE and this specific treeview and code works fine in FireFox, but not in IE. Here is the javascript:
Here's the treeview (note that is it nested in a tabstrip):
Here's the controller code:
Any help is very much appreciated!
Donna
function getAddWebItemsPart2() { var userGroupsTree = $("#existingUserGroups"); var webitemstreeview = $('#WebItemsToAddTree').data('tTreeView'); var webitems = []; var checkedNodes = $('#WebItemsToAddTree :checked').closest('.t-item'); if (checkedNodes.length > 0) { $('#WebItemsToAddTree :checked').closest('.t-item') .each(function (index, node) { // first arg: index, second arg: node parent = $(node).parent().closest('.t-item'); alert("parent is " + webitemstreeview.getItemValue(parent)); if (parent.length > 0) { webitems.push(webitemstreeview.getItemValue(node)); } }); if (webitems.length > 0) { alert(webitems.length + "webitems"); $.cookie("taskKeys", webitems); $.post('<%= Url.Action("GetUserGroups", "User")%>', { 'userKey': '<%: Model.userKey %>' }, function (result) { if (result.length > 0) { userGroupsTree.data('tTreeView').bindTo(result); } else { userGroupsTree.data('tTreeView').bindTo({ Text: "No user groups" }); } }, "json" ); } } else { $("#AddWebItems3ErrorField").replaceWith('<div id="AddWebItems3ErrorField" class="display-field" style="color:#FF3366; font-size:small;">Please select at least one web item to add for the user.</div>'); }}<% Html.Telerik().TabStrip.Name("WebItemsTabStrip").Items(Function(tabitem) tabitem.Add().Text("Choose Web Items").Selected(True).ContentHtmlAttributes(New With {.style = "height:630px;"}) _ .Content(Sub()%> <div style="padding:10px;"> <span class="listbox-label">Web Items</span><br /> <span class="editor-label">Choose web item(s) to add</span><br /> <% Html.Telerik().TreeView().Name("WebItemsToAddTree").ShowCheckBox(True).HtmlAttributes(New With {.style = "font-size:1em; height:500px; width:350px"}) _ .ClientEvents(Function(evt) evt.OnChecked("onChecked")) _ .BindTo(CType(Model.webItemsToAdd, IEnumerable(Of TreeViewItem)), Sub(mappings) mappings.For(Of TreeViewItem)( Sub(binding) binding _ .ItemDataBound( Sub(item, webitem) item.Text = webitem.Text item.Value = webitem.Value item.Encoded = False item.Expanded = True End Sub).Children(Function(webitem) webitem.Items) End Sub) mappings.For(Of TreeViewItem)( Sub(binding) binding.ItemDataBound( Sub(item, childwebitem) item.Text = childwebitem.Text item.Value = childwebitem.Value item.Encoded = False End Sub).Children(Function(childwebitem) childwebitem.Items) End Sub) mappings.For(Of TreeViewItem)( Sub(binding) binding.ItemDataBound( Sub(item, grandchilditem) item.Text = grandchilditem.Text item.Value = grandchilditem.Value item.Encoded = False End Sub) End Sub) End Sub).Render()%> <div style="float:none; clear:both; text-align:center"> <div class="table_menu"> <br /> <ul class="left"> <li><a href="#" id="continueBtn" class="button add_new"><span><span>Continue</span></span></a></li> <li><a href="#" id="cancelBtn" class="button add_new"><span><span>Cancel</span></span></a></li> </ul> <br /> <div></div> <div id = "AddWebItemsErrorField"></div> </div> </div> </div> <% End Sub)) _Here's the controller code:
Function GetWebItemsToAdd(ByVal userKey As Integer) As ActionResult Dim gmcPermissions As New GMCPermissions Dim addWebItemsModel As New List(Of TreeViewItem) Dim webItemsReturned As New List(Of GMCListItem) Dim DLReports As New List(Of CustomerReport) Dim statusReturn As New StatusReturn Dim webItemObj As New WebTask Dim parentNode As New TreeViewItem Dim childNode As TreeViewItem Dim grandChildNode As TreeViewItem Dim model As New AddWebItemsToUserModel model.userKey = userKey model.webItemsToAdd = New List(Of TreeViewItem) statusReturn = gmcPermissions.GetWebInfoForUser(userKey, webItemsReturned, True) If webItemsReturned.Count > 0 Then Dim initialReportType As String = webItemsReturned.Item(0).value parentNode.Text = initialReportType parentNode.Value = initialReportType For Each webItem In webItemsReturned webItemObj = webItem.dataObject If webItem.value.Equals(initialReportType) Then childNode = New TreeViewItem childNode.Value = webItemObj.TaskKey childNode.Text = webItemObj.TaskText If webItemObj.TaskTab.Equals("DL") Then If Session("companyListType").Equals("carrier") Then childNode.Text = webItemObj.TaskText + " - " + webItemObj.TaskCollectionLabel Else childNode.Text = webItemObj.TaskText End If statusReturn = gmcPermissions.GetReportsForTaskAndUser(webItemObj.TaskKey, userKey, DLReports, True) If statusReturn.StatusCode.Equals(com.gmcps.StatusReturn.StatusCodes.SUCCESS) And DLReports.Count > 0 Then For Each rpt In DLReports grandChildNode = New TreeViewItem grandChildNode.Text = rpt.FileName grandChildNode.Value = rpt.ReportKey childNode.Items.Add(grandChildNode) Next End If End If parentNode.Items.Add(childNode) Else addWebItemsModel.Add(parentNode) initialReportType = webItem.value parentNode = New TreeViewItem parentNode.Text = webItem.value parentNode.Value = webItem.value childNode = New TreeViewItem childNode.Value = webItemObj.TaskKey childNode.Text = webItemObj.TaskText If webItemObj.TaskTab.Equals("DL") Then If Session("companyListType").Equals("carrier") Then childNode.Text = webItemObj.TaskText + " - " + webItemObj.TaskCollectionLabel Else childNode.Text = webItemObj.TaskText End If statusReturn = gmcPermissions.GetReportsForTaskAndUser(webItemObj.TaskKey, userKey, DLReports, True) If statusReturn.StatusCode.Equals(com.gmcps.StatusReturn.StatusCodes.SUCCESS) And DLReports.Count > 0 Then For Each rpt In DLReports grandChildNode = New TreeViewItem grandChildNode.Text = rpt.FileName grandChildNode.Value = rpt.ReportKey childNode.Items.Add(grandChildNode) Next End If End If parentNode.Items.Add(childNode) End If Next addWebItemsModel.Add(parentNode) End If model.webItemsToAdd = addWebItemsModel Return PartialView("AddWebItems", model)End FunctionAny help is very much appreciated!
Donna