2012-01-11 2 views
0

관리자가 모든 프로젝트를 표시하는 관리자 측에서 그리드를 만들었습니다. 관리자가 세 개의 프로젝트를 클릭하면 해당 사이트의 인덱스 페이지에 나타나야합니다. 다른 확인란은 세 개의 프로젝트를 선택한 후 사용하지 않도록 설정하고 선택한 체크 상자 중 하나를 제거한 다음 다른 사람에게 선택을 제공합니다. 내가 수행 한 작업은 스택 오버플로에서 자바 스크립트 코드가있는 것입니다. 이제이 코드가 작동하지만 문제는 페이지를 새로 고치거나 다른 메뉴에서 탐색 할 수 있습니다. 확인란을 선택해도 인덱스 페이지에서 이전에 선택한 세 개의 프로젝트가 표시됩니다. 페이지 새로 고침 후 선택하지 않도록 설정할 수 있습니다. 여기에 코드가 있습니다최대 세 개의 확인란이 선택되어 있고 다른 비활성이 있습니다

function disableHandler (form, inputName) { 
    var inputs = form.elements[inputName]; 
    for (var i = 2; i < inputs.length; i++) { 
     var input = inputs[i]; 
     input.onclick = function (evt) { 
      if (this.checked) { 
       disableInputs(this, inputs); 
      } 
      else { 
       enableInputs(this, inputs); 
      } 
      return true; 
     }; 
    } 
} 

function disableInputs (input, inputs) { 
    for (var i = 2; i < inputs.length; i++) { 
     var currentInput = inputs[i]; 
     if (currentInput != input) { 
      currentInput.disabled = true; 
     } 
    } 
} 

function enableInputs (input, inputs) { 
    for (var i = 2; i < inputs.length; i++) { 
     var currentInput = inputs[i]; 
     if (currentInput != input) { 
      currentInput.disabled = false; 
     } 
    } 
} 

답변

1

데이터베이스에 선택을 유지해야합니다. 여기에 할 일 목록입니다 :

  1. 각 선택/선택 해제 후에는, 선택 체크 박스 (들)의 세부 사항을 서버에 배경 아약스 요청을 보냅니다.

  2. 서버에서이 정보를 데이터베이스에 저장하십시오.

  3. 사용자가 페이지를 새로 고침 할 때 데이터베이스의 정보를 사용하여 선택란을 선택란으로 표시하고 다른 부분은 비활성화로 표시하십시오.

+0

데이터베이스에 정보를 보내면 상태 1이되고 선택하지 않으면 상태가 0이됩니다. 하지만 문제는 3 개 이상을 선택해서는 안된다는 것입니다. 다른 선택을 해제해야합니다. –

+0

무엇을 제어해야합니까? –

+0

정보를 데이터베이스에 보내면 상태 1이되고 선택하지 않으면 상태가 0이됩니다. 하지만 문제는 3 개 이상을 선택해서는 안된다는 것입니다. 다른 선택을 해제해야합니다. –

0

사용자가 선택한 항목을 추적하도록 세션 변수를 설정하라는 ajax 요청을 보낼 수 있습니다. $ _SESSION [ '체크 박스'] [ 'OPT1'] = 1과 같은

뭔가 특정 항목이

를 확인하면 내가 당신을 아주하지만 뭘 하려는지 수행하지 않지만, 비교적 간단한데에 대한 . 도움이 더 필요하면 알려주세요.

관련 문제