2015-06-19 2 views
1

В настоящее время у меня модальный, который удаляет элемент из моего списка данных. После выбора удаления я хочу обновить веб-страницу. На этом этапе он обновляет всю страницу и перенаправляет меня на вкладку Searches. Я хочу обновить только вкладку Lists. Как я могу это сделать?Обновление определенного раздела страницы

Мой HTML:

<div class="row zero-margin"> 
     <div class="col-xs-12"> 
      <div id="tabstrip"> 
       <ul id="tab-strip-options"> 
        <li id="listItem1" class="k-state-active"> 
         Searches 
        </li> 
        <li id="listItem2"> 
         Lists 
        </li> 
       </ul> 
       <div class="saved-search-content"> 
        <div id="gridSearch"></div> 
       </div> 
       <div class="saved-list-content"> 
        <div id="gridList"></div> 
       </div> 
      </div> 
     </div> 
    </div> 

Мой JavaScript Функция:

function deleteItemsFromList(data) { 
    if(data.IsSuccess) { 
     window.location.reload(); 
     CloseModal("deleteSearchListModal"); 
     showSuccessMessage('List was successfully deleted!'); 
    } 
} 
+0

Здравствуйте! Здесь вам понадобится ajax. Эй, как вы заполняете этот список? –

ответ

1

решение для стороне сервера хранилища данных:

Самое простое решение для частичного обновления на вашем веб-страница должна использовать AJAX Запросы. Вы должны загружать содержимое списка из веб-источника при его обновлении.

$("#gridList").load("ajax/getListContent"); 

Конечно ваш ajax/getListContent должен генерировать правильную HTML подструктуры (без HTML, теги тела), как:

<div>...</div> 

Вообще создать источник данных по адресу ajax/getListContent, который вернет вам ваши данные структурированы в HTML, то в вашем коде вы можете сделать так:

function deleteItemsFromList(data) { 
    if(data.IsSuccess) { 
     $("#gridList").load("ajax/getListContent", function() { 
      CloseModal("deleteSearchListModal"); 
      showSuccessMessage('List was successfully deleted!'); 
     } 
    } 
} 
+0

Okay @suvroc, ваша идея имеет смысл, но не совсем уверен, как это реализовать. Не могли бы вы расширить? – ChaseHardin

+0

Какой у вас бэкэнд? Из какого источника вы берете данные на страницу? – suvroc

+0

Откуда возникает 'ajax/getListContent'? – ChaseHardin

1

Я полностью игнорировать, если вы используете какой-то плагин, но если вы хотите Refre sh только часть всего HTML-документа, вы должны использовать AJAX и удалить из своего скрипта window.location.reload(). Что-то вроде этого:

function deleteItemsFromList(data) { 
    if(data.IsSuccess) { 
     $.ajax(/*params here*/).done(function(data){ 
      //refresh just the #gridList part 
      CloseModal("deleteSearchListModal"); 
      showSuccessMessage('List was successfully deleted!'); 
     } 
    } 
} 

Может быть, это не правильный порядок, но главное AJAX :)

+0

Привет @ Витозор, спасибо за ваш ответ. Какой тип параметров я хотел бы вставить в 'ajax' и как я могу вызвать обновление на' # gridList' – ChaseHardin

+0

Вы можете найти, как использовать jQuery's Ajax здесь: http://api.jquery.com/jquery.ajax/ Я не уверен, что лучший способ для вас, но я хотел бы сделать: 1. AJAX на сервер 2. удалите все, что нужно удалить 3. Вернуть объект свежей информации от сервера 4. Ручка ответ в 'done()' part – Vithozor

+0

Итак, я приближаюсь, но вот проблема, с которой я сталкиваюсь сейчас. Если у меня есть 11 предметов, 10 на первой странице и 1 на второй.Когда я удаляю 11-й элемент на второй странице, мой счетчик страниц говорит: «2 из 1», даже если на странице не осталось ни одного контента. Почему обновление 'ajax' также не является? – ChaseHardin

Смежные вопросы