테이블 구조 2차 또는 다단계 연계는 주로 데이터베이스에 상위 번호가 있는 테이블을 기반으로 하며, 이것도 예외는 아닙니다. id, parent_id, name의 3개 열입니다.
js 연산 사용하기 먼저 js에서 데이터가 어떻게 저장되는지부터 살펴보겠습니다. 주로 2차원 배열을 사용하여 데이터를 저장합니다. 구조는 다음과 같습니다. a[상위 번호]=[[하위 번호 1, 하위 이름 1], [하위 번호 2, 하위 이름 2], [하위 번호 3, 하위 이름 3],...]; 🎜> 먼저 상위 번호를 사용하여 모든 하위 데이터를 가져온 다음 드롭다운에서 하위 데이터의 번호와 이름을 바인딩합니다.
var 도시=새로운 배열() 도시 ['00000000-0000-0000-0000-000000000000']=[['028db215-8bd7-45ab-bbaa-1efa175c35ca','창춘'],['bcb32195-2a46- 4cd1-9472-6383e8fa55cc',' 심양'] ];
var school=new Array() schools['028db215-8bd7-45ab-bbaa-1efa175c35ca']=[['5f22403a- 7a59-4b7f-b62d-9451298cbd00','장춘 1'],['e8f0f665-9a9a-4c44-83fd-598e8a28dcd7','장춘 2']]; -a44e-8d169d715664']]; 🎜 >
1단계는 도시 데이터, 2단계는 학교 데이터입니다.
두 번째 단계는 드롭다운에 표시할 데이터를 설정하는 것입니다
코드 복사 코드는 다음과 같습니다.//부모 번호를 기준으로 해당 자녀 데이터를 가져와서 obj 컨트롤에 표시합니다.
//type=0 시, 1 학교
// pid 상위 번호 //obj - 데이터 표시를 위한 드롭다운 function SetRegions(type,pid,obj) { var text="
세 번째 단계에서는 도시가 변경되면 학교 데이터를 선택합니다. 🎜>
코드 복사
코드는 다음과 같습니다.//학교 설정 도시 번호가 포함된 하위 데이터function CityChanged(){
function InitRegions(cityId,schoolId) { //도시 데이터 초기화 //SetRegions(0,"00000000-0000-0000-0000-000000000000","#cities") / /도시를 찾아 기본값으로 설정 $("#cities option[value =" cityId "]").attr("selected","selected") if(schoolId!=" 00000000-0000-0000-0000-000000000001"){ //학교 데이터 초기화 SetRegions(1,cityId,"#schools"); //학교를 찾아 기본값으로 설정 $("#schools option[value=" schoolId "]").attr("선택됨", "선택됨") } }