2012-11-07 2 views
0

안녕하세요 사용자 Stackoverflow,Jquery 목록의 다음 항목 표시

나는 여러 레코드로 구성된 테이블 목록을 만들었습니다. 현재 매회 최대 10 개까지 표시됩니다. 클릭하면 다음 10 개의 레코드가 테이블에 표시됩니다. 어떻게 작동하도록이 코드를 작성할 수 있는지 궁금합니다.

function showAll(qstring,qtype){ 
$("#vsdiv").show(); 
var myurl="scripts/searchadmin.php"; 
$.ajax({ 
    url: myurl, dataType:'json',data:{querystring:qstring,querytype:qtype}, 
    success: function(member){ 
    $("#resultstable").append('<tr class="yellow">'+ 
             '<th>#REC</th><th>JOINED</th><th>USER NAME</th>'+ 
             '<th>CONTACT</th><th>ADDRESS</th><th>PHONE</th>'+ 
             '<th>EMAIL</th><th>STATUS</th><th>SELECT</th></tr>'); 
    var j=0;var totrecs=1; 
    for(var i=0;i<10;i++){ 
    $("#resultstable").append('<tr class="trow'+j+'">'+ 
        '<td class="ids" id="z'+i+'">'+totrecs+'</td>'+ 
      '<td>'+member[i].jdate+'</td>'+ 
      '<td class="users"  id="username'+i+'">'+member[i].username+'</td>'+ 
      '<td id="contact'+i+'">'+member[i].fname+' '+member[i].lname+'</td>'+ 
      '<td id="myaddress'+i+'">'+member[i].address1+' '+member[i].town+'</td>'+ 
      '<td id="phone'+i+'">'+member[i].phone+'</td>'+ 
      '<td id="email'+i+'">'+member[i].email+'</td>'+ 
      '<td id="status'+i+'">'+member[i].status+'</td>'+ 
      '<td><input type="checkbox" name="whome" id="showMe'+i+'"'+ 
             'class="boxes" onclick="getMe('+i+')" /></td></tr>'); 
             $('#sr').html('Showing 1 of '+member.length+' Members') 

}); 


    totrecs++; 
    j++; 
} 
} 
}); 
} 

이, 내가 버튼을 클릭하면 내가 10의 다음 세트를 표시하는 방법, 어떤 아이디어를 처음 10 개 레코드를 표시 현재 함수? 당신이 이것을 달성 할 수

+0

서버에서 요청한 내용의 현재 오프셋을 저장하는 변수를 만듭니다. 요청과 함께 보내주십시오. –

답변

0

한 가지 방법은 다음과 같이 보일 수있는 쿼리에 범위 정보를 추가하는 것입니다 :

var rangestart = 0; 
var rangeend = 9; 
var rangeincrement = 10; 
function showAll(qstring,qtype){ 
$("#vsdiv").show(); 
var myurl="scripts/searchadmin.php"; 
$.ajax({ 
    url: myurl, dataType:'json',data:{querystring:qstring,querytype:qtype,rangestart:rangestart,rangeend:rangeend}, 
    success: function(member){ 
    $("#resultstable").append('<tr class="yellow">'+ 
             '<th>#REC</th><th>JOINED</th><th>USER NAME</th>'+ 
             '<th>CONTACT</th><th>ADDRESS</th><th>PHONE</th>'+ 
             '<th>EMAIL</th><th>STATUS</th><th>SELECT</th></tr>'); 
    var j=0;var totrecs=1; 
    for(var i=0;i<10;i++){ 
    $("#resultstable").append('<tr class="trow'+j+'">'+ 
        '<td class="ids" id="z'+i+'">'+totrecs+'</td>'+ 
      '<td>'+member[i].jdate+'</td>'+ 
      '<td class="users"  id="username'+i+'">'+member[i].username+'</td>'+ 
      '<td id="contact'+i+'">'+member[i].fname+' '+member[i].lname+'</td>'+ 
      '<td id="myaddress'+i+'">'+member[i].address1+' '+member[i].town+'</td>'+ 
      '<td id="phone'+i+'">'+member[i].phone+'</td>'+ 
      '<td id="email'+i+'">'+member[i].email+'</td>'+ 
      '<td id="status'+i+'">'+member[i].status+'</td>'+ 
      '<td><input type="checkbox" name="whome" id="showMe'+i+'"'+ 
             'class="boxes" onclick="getMe('+i+')" /></td></tr>'); 
             $('#sr').html('Showing 1 of '+member.length+' Members') 

}); 


    totrecs++; 
    j++; 
} 
rangestart += rangeincrement; // this assigns the new range start value 
rangeend += rangeincrement; // assign new range end value 
} 
}); 
} 

이 그런 다음 버튼을 그냥 다시 같은 쿼리를 수행

. 예를 들어 필요한 범위 만 반환하려면 서버 측에서 쿼리를 변경해야합니다.

SELECT * FROM xyz WHERE xyz.somevalue = querystring LIMIT rangestart, rangeend; 

그러면 원하는 결과를 얻을 수 있습니다.