2012-06-25 2 views
0

У меня возникла большая проблема с jquery и обратной обработкой.сохранить динамически добавленные элементы после обратной передачи

Я динамически добавляю элементы html на свою страницу. например Вкладки JQuery UI.

но после обратной передачи ВСЕ динамически добавленные элементы исчезли.

Как я могу сохранить все эти элементы после обратной передачи, а также значения текстовых полей и datetimepicker?

Greetz

Tobi

РЕДАКТИРОВАТЬ:

например, Я добавляю некоторые JqueryUI Вкладки с этим кодом:

$(function() { 
       var $tab_title_input = $("#tab_title"), 
      $tab_content_input = $("#tab_content"); 
       var tab_counter = 1; 

       var $addButton = $('<li class="ui-state-default ui-corner-top add-button"><span>+</span></li>'); 
       $addButton.click(function() { addTab(); }); 


       var $tabs = $("#tabsTravel, #tabsWork").tabs({ autoHeight: true, fillSpace: true, 
        tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>", 
        add: function (event, ui) { 
         var tab_content = $tab_content_input.val() || "Tab " + tab_counter + " content."; 
         $(ui.panel).append("<p>" + tab_content + "</p>"); 

         $("#tabsTravel ul.ui-tabs-nav").append($addButton); 
        } 
       }); 

       $("#tabsTravel ul.ui-tabs-nav").append($addButton); 

       // actual addTab function 
       function addTab() { 
        tab_counter++; 
        var tab_title = "worker " + tab_counter; 
        $tabs.tabs("add", "#tabsTravel-" + tab_counter, tab_title) 
       .tabs("select", "#tabsWork-" + tab_counter, tab_title); 

       } 

       // close icon: removing the tab on click 
       $("#tabsTravel span.ui-icon-close").live("click", function() { 
        var index = $("li", $tabs).index($(this).parent()); 
        $tabs.tabs("remove", index); 
        tab_counter--; 
       }); 
       $("#tabsWork span.ui-icon-close").live("click", function() { 
        var index = $("li", $tabs).index($(this).parent()); 
        $tabs.tabs("remove", index); 
        //     tab_counter--; 
       }); 
       $('#button').click(function() { 
        addTab() 
       }); 
      }); 

как я могу реализовать эту LocalStorage в этом коде?

Greetz

Bl TZ

ответ

0

Как правило, это будет работа на стороне сервера код!; вы сохранили бы добавленные элементы в кеше сеанса или в базе данных, если изменения должны быть постоянными.

Вы могли бы также рассмотреть возможность использования нового HTML5 сеанса хранения или локальное хранилище, но этот подход, вероятно, будет больше хлопот; лучше всего использовать сложные серверные библиотеки PHP, .NET и т. д., если это возможно.

Редактировать

Вот простой пример. Допустим, что ваш клиент скрипт добавляет некоторые HTML на страницу:

var html = "<div>hello world</div>"; 
$("body").append(html); 

Теперь, вы можете сохранить его на локальном диске, как это:

localStorage.setItem("dynamichtml", html); 

Если вы поместите что-то в вашей страницы сценария запуска, как это:

$(document).ready(function() { 
    if (localStorage["dynamichtml"]) { 
     $("body").append(localStorage["dynamichtml"]); 
    } 
}); 

Тогда вы достигнете динамической функциональности. Обратите внимание: данные localStorage сохранятся до тех пор, пока пользователь не удалит его явно.

+0

и как я могу заставить это работать? Я пишу свой код с VS 2010 и мой код в C#. не могли бы вы привести мне пример? – user1414157

+0

@ user1414157 Немного сложно сказать, когда вы не сказали мне, что такое ваша задняя платформа :) – McGarnagle

+0

вы имеете в виду код? Я использую C# – user1414157

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