Title: Menu removeItem Post by: jega on September 02, 2021, 03:46:59 AM Hi
Have this code to add dynamically menu items <div id="menu_administration" class="easyui-menu"> <div id="adm1" data-options="iconCls:'icon-task_scheduler'"> <span>Scheduler</span> <div> <div data-options="iconCls:'icon-log'"> <span>Scheduler log</span> </div> </div> </div> </div> Calling function getFilesListToMenu('scheduledlog','menu_administration','Scheduler log') to fill the span Scheduled log with all filenames in folder. This works perfect. function getFilesListToMenu(filePath,topMenu,subMenu){ $.ajax({ url: 'getsystemfromdb.asp?st=filelist&filepath='+filePath, type: 'get', cache:false, data: { }, success: function(data){ filesData = data[0].children; $.each(filesData, function(index, element){ var item = $('#'+topMenu).menu('findItem', subMenu); $('#'+topMenu).menu('appendItem', { parent: item.target, text: element.name, iconCls: element.iconCls, onclick: function(){ window.open(filePath+'/'+element.name+'?'+Date.now()) } }); }); } }); } When there comes a new file in the scheduledlog folder i will call the function again, but before, all items must be removed. Have tried several things with removeItem, but can't get it to work. Any help ?? Maybe a new function with topMeny and subMenu parms that do the trick Jesper Title: Re: Menu removeItem Post by: jega on September 05, 2021, 01:41:39 AM Anyone that has a solution is welcome.
;-) Title: Re: Menu removeItem Post by: jarry on September 06, 2021, 12:48:50 AM Please try this code to remove all the items.
Code: var mm = $('#mm'); Title: Re: Menu removeItem Post by: jega on September 06, 2021, 01:18:18 AM Hi Jerry
Adding items to <span>Scheduler log</span> and only want to remove these items again, before adding new Using your code, i can't remove them. But i can remove all menus with var mm = $('#menu_administration'); Have tried <span id="scheduleLogHolder">Scheduler log</span> and var mm = $('#scheduledLogHolder'); Nothing happens here, items still there Title: Re: Menu removeItem Post by: jega on September 06, 2021, 12:37:59 PM Hi
Found a solution. Maybe not the best, but works Added id="schedulerItems" <div id="menu_administration" class="easyui-menu"> <div id="adm1" data-options="iconCls:'icon-task_scheduler'"> <span>Scheduler</span> <div id="schedulerItems"> <div data-options="iconCls:'icon-log'"> <span>Scheduler log</span> </div> </div> </div> </div> Calling this function function refreshSchedulerLog() { //Remove "Scheduler log" menu. All submenus will also be removed var item = $('#menu_administration').menu('findItem', 'Scheduler log'); // find the menu item $('#menu_administration').menu('removeItem', item.target); //Add new empty "Scheduler log" menu $('#schedulerItems').menu('appendItem', { text: 'Scheduler log', iconCls: 'icon-task_scheduler' }); //Reload filelist menu items getFilesListToMenu('scheduledlog','menu_administration','Scheduler log') } |