Как сделать так, чтобы выпадающий список сбрасывался каждый раз, когда я его посещаю?
В моем приложении веб-формы у меня есть панель мониторинга с шестью полями, каждое из которых имеет отдельный раскрывающийся список, так что пользователи могут выбирать значения (пункты меню для страниц, которые они посещают чаще всего) по своему выбору из базы данных для удобства доступа. Выпадающий список работает нормально и показывает выбранные пункты меню соответствующим образом.
Но у них есть проблема со всеми выпадающими списками на моей веб-странице. Мне нужно, чтобы каждый из выпадающих списков показывал записи заново каждый раз, когда я их посещаю. Это происходит потому, что как только я посещаю один из них и прокручиваю его вниз, либо выбираю значение, либо оставляю его без какого-либо выбора, он запоминает эту позицию. Затем, когда я посещаю другой выпадающий список (либо делая выбор в нем, либо нет) и возвращаюсь к первому, он не показывает мне значения сверху. Вместо этого он показывает мне те значения, где я оставил его перед посещением 2-го выпадающего списка.
Я много пробовал и не могу найти никакого решения своей проблемы. Я хочу, чтобы каждый раскрывающийся список показывал значения сверху, а не там, где пользователь оставил его перед посещением другого раскрывающегося списка на той же странице. Код, который я использовал для отображения пунктов меню в раскрывающихся списках, доступен здесь.
Что я уже пробовал:
// This is the HTML that I've used for every single box that have it's own drop-down. <div class="row"> <div class="box" id="box0"> <div class="drop"> <div class="edit"><span></span></div> <div class="dropdownContain"> <div class="dropOut"> <div class="triangle"></div> <ul class="widget-options"> </ul> </div> </div> </div> <a class="menu-href" href="javascript:"> <input type="hidden" class="menu-id" /> <span class="menu-icon fa fa-2x"> </span> <div class="clearfx"></div> <label class="menu-text"> </label> </a> </div>
JQuery-код для извлечения пунктов меню из базы данных и передачи их в раскрывающиеся списки.
// //Menu items are taken from database if (obj.data.length > 0) { var lielm = ''; var AccountantHeader = false; var ReportHeader = false; var OtherHeader = false; var accountantItems = []; var reportsItems = []; var otherItems = []; $.each(obj.data, function (i, m) { if (m.Menu_Item_Name == 'Report Financial' || m.Menu_Item_Name == 'Cover Sheet' || m.Menu_Item_Name == 'Letters' || m.Menu_Item_Name == 'Invites') { accountantsItems.push(m); } else if (m.Menu_Item_Name == 'Income Statement' || m.Menu_Item_Name == 'Balance' || m.Menu_Item_Name == 'Income' || m.Menu_Item_Name == 'Ledger') { reportsItems.push(m); } else { otherItems.push(m); } }); $.each(accountantItems, function (index, m) { if (!AccountantHeader) { lielm += '<li class="no-hover">Accountants</li>'; AccountantHeader = true; } lielm += '<li data-value="' + m.Menu_URL + '" title="' + m.Menu_Item_Name.replace('', '').replace('', '') + '">' + m.Menu_Item_Name + '</li>'; }); $.each(reportsItems, function (index, m) { if (!ReportHeader) { lielm += '<li class="no-hover">Reports</li>'; ReportHeader = true; } lielm += '<li data-value="' + m.Menu_URL + '" title="' + m.Menu_Item_Name.replace('', '').replace('', '') + '">' + m.Menu_Item_Name + '</li>'; }); $.each(otherItems, function (index, m) { if (!OtherHeader) { lielm += '<li class="no-hover">Other</li>'; OtherHeader = true; } lielm += '<li data-value="' + m.Menu_URL + '" title="' + m.Menu_Item_Name.replace('', '').replace('', '') + '">' + m.Menu_Item_Name + '</li>'; }); $(edt).next('.dropdownContain').children('.dropOut').children('.widget-options').html(lielm); $(edt).next('.dropdownContain').children('.dropOut').children('.widget-options').children('li').click(function () { var pId = $(edt).parent().parent().attr('id'); var mId = $('#' + pId + ' .menu-id').val() || 0; var mnu = { UserId: uId, Name: this.outerText, Url: $(this).data('value'), ID: mId } // // // Update dashboard