2015-01-11 2 views
0

У меня есть Serveral статьи на моей страниценагрузки больше действия JQuery

<article></articles> 

Каждая статья имеет динамический идентификатор вторит переменной PHP data-price="<?php echo $pret[1] ?>".

Загрузить больше кнопки:

<div id="loadMore"><a> mai multe rezultate</a></div></div> 

Кодекса:

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#hotel-list article:gt(4)').hide(); 
    $('#loadMore').click(function() { 
     $('#hotel-list article:hidden:lt(2)').show(); 
    }); 
    $('#showLess').click(function() { 
     $('#hotel-list article').not(':lt(4)').hide(); 
    }); 
}); 
</script> 

Как я могу сделать этот код работать и загружать больше статей на клике, но если какая-либо статья имеет пустой идентификатор, чтобы остаться скрытый.

+0

'data-price =" "' Это где вы храните динамический идентификатор для статьи? – su8898

+0

@ su8898 да, это динамический идентификатор –

+0

, пожалуйста, проверьте мой ответ – su8898

ответ

1

Попробуйте этот скрипт. Here - это JSFiddle. В этом примере статья 7 и статья 9 скрыты при нажатии «загрузить больше», потому что data-price пуст (я не уверен, почему вы храните Id в атрибуте с именем data-price).

$(document).ready(function() { 
    $('#hotel-list article:gt(4)').hide(); 
    $('#loadMore').click(function() { 
     $('article').filter(function() { 
      return $(this).data('price') != '' && $(this).css("display") == "none" 
     }).show(); 
    }); 
    $('#showLess').click(function() { 
     $('#hotel-list article').not(':lt(4)').hide(); 
    }); 
}); 
+0

спасибо, что он работает –

0

Вы можете использовать PHP + $ getJson

PHP :: getid_data.php

<?php 

$pret = array(); 

echo json_encode($pret); 

?> 

JQuery ($ getJSON)

$(function() { 
    'use strict';  
    $.getJSON('getid_data.php', function(data) { 
     $.each(data, function(key, val) { 
      $('#hotel-list article' + val.id).css('display', 'none') 
     }); 
    }); 
}); 

В PHP, вы можете заполнить только идентификаторы который должен быть показан, а затем в jQuery, вы можете изменить селектор на $('#hotel-list :not(article' + val.id + ')')

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