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.