Как мне сохранить 2 параметра с помощью jQuery.data()

#javascript #jquery #ajax

#javascript #jquery #ajax

Вопрос:

У меня есть следующий js:

 $('.overview_table_header').click(function() {
  header = $(this)
  $.get("/sort", { col: $.trim($(this).text()), sort: header.data('sort') },
    function(data) {
      $('#pages').html(data.html);
      header.data('sort', data.sort);
    }
  );
});
  

Который передает 2 параметра (запрос на получение / сортировку): {"col"=>"DATA", "sort"=>"OTHERDATA"}

Я новичок в jQuery и Ajax. Как мне сохранить вышеуказанные ДАННЫЕ и ДРУГИЕ ДАННЫЕ в теге скрытого поля в моем html? Является ли использование jQuery.data () лучшим методом для выполнения этой задачи?

Ответ №1:

.data () — это то, что я бы использовал. Вы можете сделать:

 $(header).data({"col":"DATA", "sort":"OTHERDATA"});
  

или

 $(header).data("col","DATA");
$(header).data("sort","OTHERDATA");
  

Комментарии:

1. ‘header’ можно заменить ссылкой на любой элемент, в котором вы хотите сохранить данные.

2. можете ли вы показать мне это. Я не хочу использовать ссылку на заголовок. Я бы хотел сохранить его в скрытом поле, если это возможно

3. Мне неясно, о чем вы просите. Что вы имеете в виду под моим скрытым полем? Как вы собираетесь получить доступ к данным позже?

4. Проблема в том, что я использую плагин Ruby will_paginate (ruby) с сортировкой jQuery / Ajax. Когда я разбиваю на страницы, я теряю сортировку. Я хочу сохранить эти данные сортировки в HTML-элементе; разбить на страницы; затем извлечь сохраненные данные для поддержания моей сортировки. Я не могу получить доступ к данным в заголовке.