2013-05-17 3 views
0

페이지 네이션을위한 4 개의 버튼이 있습니다 (먼저, 다음으로 이동, 뒤로 이동, 마지막으로 이동). 페이지 매김 중에 확인란을 유지하려고합니다. 문제는 입니다. 확인란을 선택하고 다음 페이지로 이동 한 다음 다시 같은 페이지로 돌아 오면 이전에 선택한 확인란이 표시되지 않지만 다음 페이지를 클릭하는 즉시 다음 페이지로 이동하기 전에 값이 확인되었습니다.jQuery를 사용하여 페이지 매김 중에 체크 박스를 유지할 수 없습니다.

내 코드는 어디에서 내가 잘못하고 있는지 안내 할 수 있습니까?

$(function() { 
     toggleSelectBtnOnCheck(); 
    }); 

    function toggleSelectBtnOnCheck() { 
     debugger; 
     //Register checkbox click handler to be called when Ajax requests complete. 
     $('#contentDiv').ajaxComplete(function() { 
      $('.tdHeadForCheckboxRadioButton').append('<input class="search" onclick="checkUnchekAllCheckboxes(this);" type="checkbox"/>'); 
      $('.afirst, .aprev, .anext, .alast, .search:checkbox').click(function() { 
       var selectedVal = $(this).closest('td'); 
       var selectClaim = selectedVal.next().text(); 
       var selectSuffix = selectedVal.next().next().text(); 
       var ClaimSuffix = selectClaim + '|' + selectSuffix + ','; 
       if ($(this).is(':checked')) { 
        document.getElementById('hdnChkClaim').value += ClaimSuffix; 
       } else if ($('#hdnChkClaim').val().indexOf(ClaimSuffix) != -1) { 
        $('#hdnChkClaim').val($('#hdnChkClaim').val().replace(ClaimSuffix, '')); 
       } 
       alert($('#hdnChkClaim').val()); 
       if (jQuery(this).attr("href") != "") { 
        //button.disable($('span.btnSelect')); 
        var SelectedItemsCheckboxID = []; 
        if ($('#hdnChkClaim').val() != '') { 
         debugger; 
         if (ClaimSuffix.indexOf(',') != -1) { 
          ClaimSuffix = ClaimSuffix.substr(0, ClaimSuffix.length - 1); //remove last ',' 
         } 
         SelectedItemsCheckboxID = $('#hdnChkClaim').val().split(','); 
         for (i = 0; i < SelectedItemsCheckboxID.length; i++) { 
          var claimDetails = SelectedItemsCheckboxID[i].split('|'); 
          a = claimDetails[0]; 
          b = claimDetails[1]; 
          $('tr').filter(function(index) { 
           var columns = $(this).children('td'); 
           alert(columns.eq(1).text() === a && columns.eq(2).text() === b); 
           return columns.eq(1).text() === a && columns.eq(2).text() === b; 
          }).find('input:checkbox').attr("checked", true); 
          ; 
         } 
        } 
        if ($('.search:checkbox:checked').length > 0) { 
         button.enable($('span.btnSelect')); 
        } else { 
         button.disable($('span.btnSelect')); 
        } 
       } 
      }); 
     }); 
    } 

답변

0

당신은 사용자가 체크 박스를 선택하면, 숨겨진 필드를 사용 쉼표 ID를 분리처럼 현재 페이지에있는 ID의 경우 모든 페이지가 있기 때문에 페이지 매김 검사로 이동할 때 숨겨진 필드에 추가해야 예를 선택하면 숨겨진 필드에 속합니다.

관련 문제