페이지에 jQuery를 포함 할 수 있다면 정확하게 수행 할 수있는 단축 방법이있다 : .load()
. 최종 자바 스크립트는 다음과 같이 보일 수 있습니다
$(document).ready(function() {
$("#searchButton").bind('click', function() {
$("#resultsDiv").load(
'http://mysite.com/sorting.php',
{ // parameters, in object literal format
sortDir: 'asc',
sortCol: 'lastname'
// etc.
}
);
});
});
어디 대체 mysite.com 사이트/마크 업에 대한 실시간 정보를 searchButton 및 resultsDiv. 다음과 같이 jquery 선택자를 사용하여 페이지 요소에서 정렬 매개 변수를 가져올 수도 있습니다. $("#sortDir").val()
- 텍스트 상자, 텍스트 영역 또는 선택 상자로 가정합니다. 양식에서 사용하는 것으로 가정하면 확인란과 라디오 버튼을 검색하는 다른 방법이 있습니다. 다른 질문에 답변하려면 :
1) 모든 종류의 정렬 또는 필터는 다른 PHP에 의해 처리됩니다. 이런 종류의 페이지를 만드는 좋은 방법입니까? 아니면 더 쉽고 편한 방법이 있습니까?
작은 숫자에는 무리가 없습니다. 서버에 인수를 허용하지 않으면 악의적 인 입력을 허용하지 않는 한 방법입니다. 테이블 이름이나 열을 변경해야 할 때 다루기 힘들어지며 모든 파일을 수정해야합니다. 또한 필터와 정렬의 조합을 허용하는 경우, 필터와 정렬의 조합을 지원하는 것이 중요하다는 것을 인식해야합니다. 3 개의 필터와 4 개의 정렬이있는 경우 12 개의 조합입니다. 다른 정렬과 다른 필터를 추가하려면 필터를위한 4 개의 새 페이지와 정렬을위한 5 개의 새 페이지를 추가해야하며 매번 악화됩니다.
대부분의 사람들은 모든 데이터가 동일한 페이지로 이동하고 해당 페이지에서만 사용자 입력의 유효성 검사, 쿼리의 공식화 및 결과 반환을 담당하게됩니다. 이 패러다임은 일반적으로 DRY for Don't Repeat Yourself이라고합니다. 그러나 사용자 입력을 수락하는 경우 validating it (서버 쪽! Don't trust user input!)에 대해 매우주의해야하며 예를 들어 허용하지 않습니다. a SQL injectionattack.
2) 그리고 한 가지 더. 다른 유형의 필터를 선택하면 약간의 전환이 가능합니까? 나는 다음과 같은 것을 원합니다 : quicksand
그 특별한 애니메이션은 매우 복잡합니다. 그들은 각 페이지에 표시 할 아이콘 사이의 차이점을 실행하고, 축소, 폭발, 이동 등을 프로그래밍 방식으로 사용자 정의하는 등 프로그래밍 할 수 있습니다.
하지만 너 알지? 이 플러그인은 jQuery 1.3+과 호환되며 MIT & GPLv2로 라이센스되어 있으므로 사이트에 통합하는 데 문제가 없어야합니다. docs을 확인하고 직접 찔러보세요. 본질적으로 반환하는 마크 업 유형을 정렬하는 것과 호환되지 않는 것은 없습니다.나는 그들의 예가 정렬을 위해 li
태그를 사용하고 있으며, 귀하의 예제 반환이 div
을 사용하고 있음을 주목합니다. 하지만 그게 큰 문제가 아니어야하고, 그렇다면 li
을 대신 반환하십시오. 그것을 사용하는 데 문제가 생기면 다른 질문을 올리십시오. 적절하게 태그를 달아서 시도한 모든 것을 게시 할 준비를하십시오.
감사합니다. 작동합니다 .load()에는 닫는 괄호가 없지만 세부 사항이 있습니다. 하나 더. 나는 그 sortDir과 sortCol이 무엇인지 모릅니다. 그걸 제게 설명해 주시겠습니까? – ProfiThing
tyop을 수정했습니다. 죄송합니다. sortDir 및 sortCol은 예제 매개 변수입니다. 다른 정렬 및 필터에 대해 여러 페이지가 있다고 언급하셨습니다. 내가 통과 한 옵션은 동일한 페이지로 전달하는 예제입니다. 예제 코드로 돌아가려면 sortCol이 'added'(ORDER BY이므로)이고 sortDir은 'ASC'가 될 것입니다 (이는 예제 정렬 (orders) 정렬 방향이기 때문에). –
그래, 나도 그렇게 생각하고 노력했지만 작동하지 않는다. sortDir : 'asc', sortCol : 'added'로 변경하고 아무 일도 일어나지 않습니다. 이 작품을 chceck 만약 내가 그것을 추가하고 이름을 오름차순과 desc,하지만 아무것도 변경 정렬하려고 했어. – ProfiThing