2016-12-10 7 views
0

Я хотел бы перезагрузить js в определенном div по щелчку кнопки без перезагрузки всей страницы. Также можно просто перезагрузить div, в который загружается js.Обновить JS или div не полную страницу

Я alread пытался несколько решений, как: http://www.philnicholas.com/2009/05/11/reloading-your-javascript-without-reloading-your-page/

или некоторые идеи других должностей, как следующее отсюда Refresh/reload the content in Div using jquery/ajax

Используя этот код, например:

$("#content").load(location.href + " #content"); 

только div, но не скрипт перезагружается, и ничего не отображается.

Используя запрос ajax, он помещает мне весь js-код в div как текст.

У вас есть идеи?

EDIT: Загруженный сценарий показывает контент в зависимости от некоторого значения сеанса. Нажатие кнопки изменяет значение, которое должно привести к другому содержимому в div, запускающем скрипт.

EDIT 2: Текущее состояние перезагрузки всей страницы: Это ДИВ, где дополнительный контент (другие дивы и прочее) добавляется по сценарию:

  <div id="dynamic_content"> 
       <script src="myjs.js"></script> 
      </div> 

А вот кнопка изменения вида содержимого:

  <div id="change_view_mode" onclick="change_view()">     
       <script> 

        if(window.SESSION.view_mode == "simple"){ 
         document.getElementById("change_view_mode").innerHTML = "complex tree"; 

        }else{ 
         document.getElementById("change_view_mode").innerHTML = "simple tree"; 
        } 

       </script> 
      </div> 

А вот функции для изменения вида, где я пытался осуществить перезагрузку содержания:

   //toggle view and reload the page 
       function change_view(){ 
         if(window.SESSION.view_mode == "simple"){ 

          $.ajax({ 
            url:'set_view_mode.php', 
            async: false, 
           }); 
          //$("#dynamic_content").load(location.href + " #dynamic_content"); 
          location.reload(true); 
         }else{ 

          $.ajax({ 
            url:'set_view_mode.php', 
            async: false, 
           }); 
          //$("#dynamic_content").load(location.href + " #dynamic_content"); 
          location.reload(true); 
         } 
        } 

Я изменяю view_mode в сеансе, вызывая небольшой php-файл. Затем я попробовал несколько вещей, как упоминалось (один из них оставлен в коде как комментарий). Это делается в зависимости от текущего вида. Таким образом, он просто переключает представление от одного к другому.

+0

Здравствуйте @Maki, проверьте мой ответ. Это то, что вам нужно? – Ionut

ответ

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