добавить значение 2 к div, а затем разделить?

#html #jquery

#HTML #jquery

Вопрос:

Не уверен, что это лучший способ, но, как видно ниже, я получаю текущую страницу и добавляю ее в div «load_more», затем я использую это значение в функции до 1. однако теперь мне нужно другое значение, добавленное к этому «общему количеству страниц», и я не уверенкуда его добавить (другой div). Могу ли я добавить его в div (тот же, что и при нажатии), а затем вырезать результаты? в функции загрузки дополнительных кликов?

Спасибо

возвращает значение

   $('.load_more').live("click", function(){ //When user clicks

            var currentPage = parseInt($(this).attr('id'), 10);
              currentPage;

            alert(currentPage);

            dosomething(currentPage);
        });
  

установите значение

 var currentPage = "";
var totalPages = ";"

 $.each(r.MESSAGES, function(key, value){

     currentPage  = value.CURRENTPAGE;
     totalPages  = value.TOTALPAGES;                        

 })
jQuery('.load_more').attr("id", currentPage);
  

HTML

 <div id="load-more">
    <a class="load_more" id="123" href="#">
        Load More
    </a>
</div>
  

Ответ №1:

Вместо добавления атрибутов DOM в ваш класс load_more может быть идея использовать хранилище данных jQuery. http://api.jquery.com/data /

Очень прост в использовании: http://jsfiddle.net/j3bb5 /

 $('.load_more').data("current_page", 1); // Setting variable current_page;
alert( $('.load_more').data("current_page") ); // Getting variable current_page, alerts "1"
  

И вы также можете хранить объекты: http://jsfiddle.net/j3bb5/1 /

 $('.load_more').data("current_page", { // Setting variable current_page;
    id: 1,
    name: "My page 1"
}); // Setting variable current_page;
alert( $('.load_more').data("current_page").id ); // Getting variable current_page, alerts "1"
alert( $('.load_more').data("current_page").name ); // Getting variable current_page, alerts "My page 1"
  

А теперь к вашему примеру: http://jsfiddle.net/j3bb5/4 /

Не знаю, что такое переменная r , но что-то вроде этого?

 var r = {
    MESSAGES: [{
        CURRENTPAGE: 1,
        TOTALPAGES: 4
    },{
        CURRENTPAGE: 2,
        TOTALPAGES: 4
    }]
};
  

Функция doSomething ничего не делает 😉

 function doSomething(CURRENTPAGE, TOTALPAGES) {};
  

Установка значений из r.MESSAGES jQuery.fn.data метода using

Сначала мы определяем наши временные CURRENTPAGE и TOTALPAGES переменные

 var CURRENTPAGE = 0, TOTALPAGES = 0;
  

Циклы генерируют r.MESSAGES и обновляют CURRENTPAGE и TOTALPAGES

 $.each(r.MESSAGES, function(key, value) {
    CURRENTPAGE  = value.CURRENTPAGE;
    TOTALPAGES  = value.TOTALPAGES;
});
  

Привязывает их к селектору .load_more

 $('.load_more').data("CURRENTPAGE", CURRENTPAGE);
$('.load_more').data("TOTALPAGES", TOTALPAGES);
  

Нажмите событие на .load_more

 $('.load_more').live("click", function() {
  

Получение CURRENTPAGE и TOTALPAGES из data метода:

     var CURRENTPAGE = $(this).data("CURRENTPAGE");
    var TOTALPAGES = $(this).data("TOTALPAGES");
  

Оповещение значений:

     alert("CURRENTPAGE: "   CURRENTPAGE);
    alert("TOTALPAGES: "   TOTALPAGES);
  

И теперь увеличивает значения на единицу: обратите внимание на двойной знак перед нашими переменными. Это означает, что вы добавляете единицу к значению. См. немного более глубокое объяснение: http://jsfiddle.net/j3bb5/6 /

     $(this).data("CURRENTPAGE",   CURRENTPAGE);
    $(this).data("TOTALPAGES",   TOTALPAGES);

    doSomething(CURRENTPAGE, TOTALPAGES);
});
  

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

1. это потрясающе! большое спасибо, действительно помогло! не знал об использовании хранилища данных jQuery, круто!