[英]Hide and show more rows of a datalist table using jQuery
我有一個asp datalist,設置如下:
<asp:DataList ID="dlListItems" ClientIDMode="Static" Width="100%" runat="server" RepeatColumns="2" ItemStyle-BorderColor="#E8E6E7" ItemStyle-BorderStyle="Solid" ItemStyle-BorderWidth="1px"
RepeatDirection="Horizontal" RepeatLayout="Table">
在datalist中,每個節點都包含一個帶有“divList”類的div
我需要能夠實現一些東西,所以不是所有節點都在加載時顯示,而是一個按鈕來加載更多。 不需要發生服務器端操作,只需顯示隱藏的行。
我通過隱藏然后一次顯示10個div來設法讓它工作。 雖然這很好用,但仍會顯示來自datalist的表行,因此您會在datalist底部獲得大的空行間隙。
$(function () {
$(".divList").slice(0, 10).show();
$("#load").click(function (e) {
e.preventDefault();
$(".divList:hidden").slice(0, 10).fadeIn(1500);
});
});
希望有人可能會對如何在表行而不是div上實現這一點提出一些建議,以防止數據列表中的空間距。 請記住(據我所知)我不能將任何id的類分配給datalist生成的行。
你應該試試這個
$(function(){
var trs = $("#dlListItems tr");
trs.hide();
trs.slice(0, 10).show();
$("#load").click(function (e) {
e.preventDefault();
$("#dlListItems tr:hidden").slice(0, 10).fadeIn(1500);
});
});
首先隱藏dlListItems中的所有Table行,然后獲取要顯示的trs,因為您不希望顯示那些隱藏div的行。
試試這個
$(function () {
$(".divList").parent().parent().hide();
$(".divList").parent().parent().slice(0, 5).show();
$("#load").click(function (e) {
e.preventDefault();
$(".divList:hidden").parent().parent().slice(0, 5).fadeIn(1500);
});
});
由於dlListItems
是動態控件的ID,因此它可以在客戶端動態更改(取決於控件的嵌套)。 所以我想這將是一個更好的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.