Hi,
I have this piece of code:
The combobox is inside a panel. When I show the panel, I call the function setEmpty() to clear the previous data. The problem is that I get a javascript exception. Debugging, I realize that the that the find("<%combo1.ClientID %>"); is returning null... ie it is not able to find the combo1.ClientID. The strange thing is that the function nodeClicking is working, ie, when I click in a node, the nodeClicking function is properly executed... The only problem is with tje setEmpty() function.
I have this piece of code:
<script type="text/javascript"> function setEmpty() { var combo = $find("<%= combo1.ClientID %>"); combo.clearselection(); combo.set_emptyMessage("select please"); } function nodeClicking(sender, args) { var comboBox = $find("<%= combo1.ClientID %>"); var node = args.get_node() comboBox.set_text(node.get_text()); comboBox.trackChanges(); comboBox.get_items().getItem(0).set_text(node.get_text()); comboBox.get_items().getItem(0).set_value(node.get_value()); comboBox.commitChanges(); comboBox.hideDropDown(); // Call comboBox.attachDropDown if: // 1) The RadComboBox is inside an AJAX panel. // 2) The RadTreeView has a server-side event handler for the NodeClick event, i.e. it initiates a postback when clicking on a Node. // Otherwise the AJAX postback becomes a normal postback regardless of the outer AJAX panel. //comboBox.attachDropDown(); } function StopPropagation(e) { if (!e) { e = window.event; } e.cancelBubble = true; } function OnClientDropDownOpenedHandler(sender, eventArgs) { var tree = sender.get_items().getItem(0).findControl("rvt1"); var selectedNode = tree.get_selectedNode(); if (selectedNode) { selectedNode.scrollIntoView(); } } </script><telerik:RadComboBox ID="combo1" runat="server" CausesValidation="false" EnableEmbeddedSkins="false" OnClientDropDownOpened="OnClientDropDownOpenedHandler" EmptyMessage="select please" MaxHeight="200px" ShowToggleImage="True" Width="50%" AllowCustomText="True"> <ItemTemplate> <div id="div1"> <telerik:RadTreeView ID="rvt1" runat="server" Width="100%" Height="250px" DataSourceID="ds1" DataFieldID="ID" DataValueField="ID" DataFieldParentID="ParentID" DataTextField="Name" OnClientNodeClicking="nodeClicking" > <DataBindings> <telerik:RadTreeNodeBinding Expanded="true" /> </DataBindings> </telerik:RadTreeView> </div> </ItemTemplate> <Items> <telerik:RadComboBoxItem Text="" /> </Items></telerik:RadComboBox><asp:ObjectDataSource ID="ds2" runat="server" EnablePaging="True" OnSelecting="dds2_Selecting" SelectMethod="GetList" TypeName="BLL"> <SelectParameters> <asp:Parameter Name="p1" Type="Int32" /> <asp:Parameter Name="p2" Type="Int32" /> <asp:Parameter Name="p3" Type="Boolean" DefaultValue="True" /> </SelectParameters></asp:ObjectDataSource>The combobox is inside a panel. When I show the panel, I call the function setEmpty() to clear the previous data. The problem is that I get a javascript exception. Debugging, I realize that the that the find("<%combo1.ClientID %>"); is returning null... ie it is not able to find the combo1.ClientID. The strange thing is that the function nodeClicking is working, ie, when I click in a node, the nodeClicking function is properly executed... The only problem is with tje setEmpty() function.