JQuery .data () сохраняется во время обратной передачи? - PullRequest
1 голос
/ 27 августа 2009

Если вы храните значение в jQuery.data ()

$('#customerName').data('cname','test');

затем отправить обратно страницу, будет ли доступно значение в .data () при перезагрузке страницы?

Спасибо

Ответы [ 3 ]

2 голосов
/ 27 августа 2009

нет, не будет, как и все остальные клиентские части JavaScript. Вы можете сохранить данные на клиенте, используя куки.

Рабочая демонстрация для демонстрации

код

$(function() {   
    $('#store').click(function() {        
        $.data(document, "value", "This is the value stored in data");        
        $('#data').text('Stored!').css('background-color', 'red');        
    });

    $('#get').click(function() {       
        $('#data').text($.data(document, "value")).css('background-color', 'green');        
    });

    $('#clear').click(function() {        
        $('#data').text('');;        
    });   
});
0 голосов
/ 27 августа 2009

Нет. Данные прикрепляются к элементу DOM, который теряется при перезагрузке страницы. Понимание разницы между источником страницы и DOM является ключом.

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

Однако чего вы пытаетесь достичь? В большинстве, если не во всех случаях, существует альтернативное решение.

0 голосов
/ 27 августа 2009

Не должно быть, так как вы не можете сохранить состояние JavaScript при перезагрузке страницы По крайней мере, не простым способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...