i want to close Menu-items after clicked on any MenuItems using javscript OnClientItemClicked.
and my RadMenuItems are under
<telerik:GridTemplateColumn >
<ItemTemplate>
<telerik:RadMenu ID="RadMenuClient" runat="server" EnableRoundedCorners="true" EnableShadows="true"
OnClientItemClicked="OnClientItemClicked" ExpandAnimation-Type="None" CollapseAnimation-Type="None"
ExpandDelay="0" CollapseDelay="0" Selected="false" ClickToOpen="true">
<Items>
<telerik:RadMenuItem ImageUrl="../images/1.jpg" Selected="false">
<GroupSettings ExpandDirection="Down" OffsetX="20" OffsetY="-20" />
<Items>
<telerik:RadMenuItem Text="Add" Value="Add">
</telerik:RadMenuItem>
<telerik:RadMenuItem Text="Edit" Value="EditI">
</telerik:RadMenuItem>
<telerik:RadMenuItem Text="Delete" Value="Delete">
</telerik:RadMenuItem>
</Items>
</telerik:RadMenuItem>
</Items>
</telerik:RadMenu>
</ItemTemplate>
</telerik:GridTemplateColumn>
can anyone help me ?
Thanks,
17 Answers, 1 is accepted
Please try the below javascript implementation
function onClientItemClicked(sender, eventArgs) { var menu = $find("<%= RadMenuClient.ClientID %>"); menu.close(); }Thanks,
A2H
i have already try this but it gives me error that cotrolname RadMenuClient could not found.
any other way ?
thanks,
Please try the below javascript
function onClientItemClicked(sender, eventArgs) { sender.close(true); }Thanks,
A2H
when i click on item it disappears but when again mouse over that RadMenu it reopen there with selected Item, i need it open only when i click on RadMenu .
Thanks,
Hello,
I guess you want to achieve the following functionality
1) when you click on a Menu item , Menu should close.
2) On Mouse over RadMenu should not get open and it should happen only when you click on the Rad Menu.
if that is the case Please try the below javascript implementation
1) To Close the Menu on selecting item( same code which I provide in previous post)
function onClientItemClicked(sender, eventArgs) { sender.close(true); }a) Set the "ClickToOpen" property of Rad Menu to true
ClickToOpen="true"function OnClientMouseOverHandler(sender, eventArgs) { if (eventArgs.get_item().get_parent() == sender) { sender.set_clicked(false); } }Thanks,
A2H
yes u guess exactly what i need and i have already done first 2 steps
thanks for last step it works fine.
Thanks
The implementation of the ClickToOpen for the sub-items requires a bit different implementation. For a sample implementation, you can check the newly created KB article Apply ClickToOpen functionality for child items.
<telerik:RadMenu runat="server" ID="RadMenu1" OnClientItemClicked="OnClientItemClicked" OnClientMouseOver="OnClientMouseOverHandler" ClickToOpen="true"></telerik:RadMenu><script> function OnClientItemClicked(sender, args) { var item = args.get_item() if (item.get_parent() !== sender) { item._toggleState(); } if (item.get_items().get_count() == 0) { sender.close(true); } } function OnClientMouseOverHandler(sender, args) { sender.set_clicked(false); }</script>protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) { for (int i = 0; i < 5; i++) { var item = new RadMenuItem("Root " + i); for (int j = 0; j < 5; j++) { var child = new RadMenuItem(String.Format("Child {0}.{1}", i, j)); for (int k = 0; k < 5; k++) { var grandchild = new RadMenuItem(String.Format("GrandChild {0}.{1}.{2}", i, j, k)); child.Items.Add(grandchild); } item.Items.Add(child); } RadMenu1.Items.Add(item); } }}Regards,
Peter Milchev
Progress Telerik
Please help me. My codes are running properly only the thing is that i have a main menu which have submenu's submenu. when i want to close that menu that time it is not closing i have to click twice for that. so please help me out of this problem. below i am attaching my code which i have tried:
JavaScript:
<script type="text/javascript">function OnClientItemClicked(sender, args) { var item = args.get_item() if (item.get_parent() !== sender) { item._toggleState(); } if (item.get_items().get_count() == 0) { sender.close(true); } } function OnClientMouseOverHandler(sender, args) { sender.set_clicked(false);}</script>
.aspx Code
<telerik:RadMenu runat="server" ID="RadMenu2" Width="180px" EnableEmbeddedSkins="True" Skin="Bootstrap" Flow="Vertical" ShowToggleHandle="true" ClickToOpen="true" OnClientItemClicked="OnClientItemClicked" OnClientMouseOver="OnClientMouseOverHandler"> <Items> <telerik:RadMenuItem Value="ChangeCompanies" Text="Change Company" Visible="False"></telerik:RadMenuItem> <telerik:RadMenuItem Text="Home" NavigateUrl="HomePage.aspx" Visible="False"></telerik:RadMenuItem> <telerik:RadMenuItem Text="My Info" GroupSettings-Flow="Vertical" GroupSettings-OffsetY="-1"> <Items> <telerik:RadMenuItem CssClass="raditem" Value="EmployeeInfo" Text="Employee Info" NavigateUrl="EmployeeInfo.aspx?SelectedValue=EmployeeInfo"> <Items></Items> </telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="TaxInfo" Text="Tax Info" NavigateUrl="TaxInfo.aspx?SelectedValue=TaxInfo"> <Items></Items> </telerik:RadMenuItem> </Items> </telerik:RadMenuItem> <telerik:RadMenuItem Text="Pay History"> <Items> <telerik:RadMenuItem CssClass="raditem" Value="Checks" Text=" Checks" NavigateUrl="CheckStubs.aspx?SelectedValue=Checks"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="TaxForms" Text=" Tax Forms-W2/1099" NavigateUrl="TaxForms.aspx?SelectedValue=TaxForms"></telerik:RadMenuItem> </Items> </telerik:RadMenuItem> <telerik:RadMenuItem Text="Administration" Visible="false"> <Items> <telerik:RadMenuItem CssClass="raditem" Value="Permissions" Text="Permissions" NavigateUrl="Permissions.aspx?SelectedValue=Permissions"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="Registration" Text="Registration" NavigateUrl="Registration.aspx?SelectedValue=Registration"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="ChangeHistory" Text="Change History" NavigateUrl="ChangeHistory.aspx?SelectedValue=ChangeHistory"></telerik:RadMenuItem> </Items> </telerik:RadMenuItem> <telerik:RadMenuItem Text="My Apps" Visible="false"> <Items> <telerik:RadMenuItem CssClass="raditem" Text="Human Resources"> <Items> <telerik:RadMenuItem CssClass="raditem" Value="AddNewEmployee" Text="Add New Employee" NavigateUrl="HR/NewEmployee.aspx?SelectedValue=AddNewEmployee"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="Employees" Text="Employee List" NavigateUrl="HR/Employees.aspx?SelectedValue=Employees"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Text="HR Administration"> <Items> <telerik:RadMenuItem CssClass="raditem" Value="AdminCustomize" Text="Customize" NavigateUrl="HR/AdminCustomize.aspx?SelectedValue=AdminCustomize"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="Settings" Text="Settings" NavigateUrl="HR/AdminSettings.aspx?SelectedValue=Settings"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="AlertsNotify" Text="Pending Forms" NavigateUrl="HR/AdminAlertsNotifications.aspx?SelectedValue=AlertsNotify"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="HRReports" Text="HR Reports"> <Items> <telerik:RadMenuItem CssClass="rptitem" Value="AlertNotification" Text="Alerts/Notifications" NavigateUrl="HR/Reports/AlertNotification.aspx?SelectedValue=AlertNotification"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="rptitem" Value="BirthdayReport" Text="Birthday Report" NavigateUrl="HR/Reports/BirthdayReport.aspx?SelectedValue=HRReports"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="rptitem" Value="DepartmentRoster" Text="Department Roster" NavigateUrl="HR/Reports/DepartmentRoster.aspx?SelectedValue=HRReports"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="rptitem" Value="DirectDeposit" Text="Direct Deposit" NavigateUrl="HR/Reports/DirectDepositRpt.aspx?SelectedValue=HRReports"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="rptitem" Value="EmployeeContact" Text="Employee Contact" NavigateUrl="HR/Reports/EmployeeContact.aspx?SelectedValue=HRReports"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="rptitem" Value="FormsDocuments" Text="Forms/Documents" NavigateUrl="HR/Reports/FormsDocuments.aspx?SelectedValue=HRReports"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="rptitem" Value="OutstandingFormsDocuments" Text="Outstanding Forms" NavigateUrl="HR/Reports/OutstandingFormsDocuments.aspx?SelectedValue=HRReports"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="rptitem" Value="EmployeeReview" Text="Employee Review" NavigateUrl="HR/Reports/RptEmployeeReview.aspx?SelectedValue=HRReports"></telerik:RadMenuItem> </Items> </telerik:RadMenuItem> </Items> </telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="Onboarding" Text="Onboarding Wizard" NavigateUrl="HR/Onboarding.aspx?SelectedValue=Onboarding"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="MyProfile" Text="My Profile" NavigateUrl="HR/MyProfile.aspx?SelectedValue=MyProfile"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="DirectDeposit" Text="My Direct Deposits" NavigateUrl="HR/DirectDeposit.aspx?SelectedValue=DirectDeposit"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="Deductions" Text="My Deductions" NavigateUrl="HR/Deductions.aspx?SelectedValue=Deductions"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="Notifications" Text="My Notifications" NavigateUrl="HR/HRNotifications.aspx?SelectedValue=Notifications"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="NeedsAttention" Text="Needs Attention" NavigateUrl="HR/NeedsAttention.aspx?SelectedValue=NeedsAttention"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="Form" Text="Forms/Documents" NavigateUrl="HR/HRForms.aspx?SelectedValue=Form"></telerik:RadMenuItem> </Items> </telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Text="Insight"> <Items> <telerik:RadMenuItem CssClass="raditem" Value="SavedReports" Text="Reports" NavigateUrl="InSight/SavedReport.aspx?SelectedValue=SavedReports"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Value="ReportBuilder" Text="Report Builder" NavigateUrl="InSight/ReportBuilder.aspx?SelectedValue=ReportBuilder"></telerik:RadMenuItem> </Items> </telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Text="Internet Payroll" Visible="false"></telerik:RadMenuItem> <telerik:RadMenuItem CssClass="raditem" Text="NetClockIn" Visible="false"></telerik:RadMenuItem> </Items> </telerik:RadMenuItem> </Items> </telerik:RadMenu>
Please help me as soon as possible...
On my side using the OnClientItemClicking event with the following handlers collapses the root item properly.
<telerik:RadMenu runat="server" ID="RadMenu2" ShowToggleHandle="true" ClickToOpen="true" OnClientItemClicking="OnClientItemClicking" OnClientMouseOver="OnClientMouseOverHandler" ... ><script> function OnClientMouseOverHandler(sender, args) { sender.set_clicked(false); } function OnClientItemClicking(sender, args) { var item = args.get_item() if (item.get_parent() !== sender) { item._toggleState(); } else { if (item.get_isOpen()) { sender.close(true); args.set_cancel(true) } } if (item.get_items().get_count() == 0) { sender.close(true); } }</script>Regards,
Peter Milchev
Progress Telerik
Hello Peter,
Thanks a lot now its working properly...
Hello Peter,
The code you have given is working properly but the problem is that when i am clicking on any menu item to go to another page menu is getting closing and expanding again it should close immidiatly on click if i am going on other page from menu.
Please help me as soon as possible..
I was unable to replicate the described issue.
What I can suggest is preparing a very simple project replicating the issue and a short video demonstrating the reproduction steps and send them to us in an official support ticket. This will allow us to investigate your exact scenario and provide more specific and accurate suggestions.
Once we have a solution, we can share it here for convenience and better visibility from the community.
Regards,
Peter Milchev
Progress Telerik
When clicking on a menu to open it, the menu item pops up again before it opens.
Below I have attached a video.
Please help me...
I am unable to replicate the issue using the implementation of the attached webform.
Please modify it to reproduce the issue and send it as an attachment in an official support ticket so that we can investigate locally and provide more specific suggestions.
Once we find a solution, we can share it here for convenience and better visibility from the community.
Regards,
Peter Milchev
Progress Telerik
