php thinkphp는 2차 연계, 3차 연계, 4차 연계, 다단계 연계, 데이터베이스와의 첨부 및 선택을 실현합니다.
잘못된 점이 있으면 언제든지 지도해 주시면 함께 배우고 발전해 나갈 수 있습니다.
나눔은 미덕입니다.
페이지: <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script><br>
<!-- 선택한 상태를 유지하지 않으려면 <if></if> 태그의 내용을 제거할 수 있습니다. --><br>
<!-- 각 선택은 1단계 연결, 3단계 연결은 3단계 연결, 4단계 연결은 4단계 연결 등 두 가지만 선택할 수 있습니다. 레벨 2 연결입니다. --><br>
<br>
<!-- 지역 --><br>
<div class="form-group">
<br>
<label class="col-sm-2">실험실 지역</label><br>
<div class="btn-group" style="margin-bottom: 20px;">
<br>
<select name="region1_id" id="region_0_0" onchange="setregion(0,0)" class="form-control" style="display:inline; width:auto;"><br>
<option name="selected" selected value="-1">도시</option>
<br>
<volist name="list" id="vo"><br>
<option value="{$vo['id']}" condition="$row['region1_id'] eq $vo['id']">selected='selected' >{$vo['title']}</option>
<br>
>
선택><br>
<select name="region2_id" id="region_1_0" onchange="setregion(1,0)" class="form-control" style="display:inline; width:auto;"><br>
<option name="selected" selected value="-1">학교</option>
<br>
~ |
<if neq null><br>
~
$region2 = D('LabTypeRegion')->where(array('id'=>$row['region2_id']))->getField('title');<br>
~
{$region2}<br>
~ |
선택><br>
<select name="region3_id" id="region_2_0" onchange="setregion(2,0)" class="form-control" style="display:inline; width:auto;"><br>
<option name="selected" selected value="-1">대학</option>
<br>
~ |
<if neq null><br>
|
$region3 = D('LabTypeRegion')->where(array('id'=>$row['region3_id']))->getField('title');<br>
~
<option>{$region3}</option>
<br>
</if><br>
<!-- 保持上回选中 --><br>
</select><br>
<select><br>
<option>实验室</option>
<br>
<!-- 保持上回选中 --><br>
<if><br>
<php><br>
$region4 = D('LabTypeRegion')->where(array('id'=>$row['region4_id']))->getField('title');<br>
</php><br>
<option>{$region4}</option>
<br>
</if><br>
<!-- 保持上回选中 --><br>
<br>
</select><br>
</if></select></volist></select>
</div>
<br>
</div>
<br>
<script type="text/javascript">//기본값을 설정하고 페이지가 로드되면 기본 옵션을 복원합니다. <br />
함수 Region_default() {<br />
$("option[value='-1']").attr('선택됨', '선택됨');<br />
}<br />
함수 setregion(num, address_id) {<br />
var next = num + 1;<br />
$.ajax({<br />
유형: 'POST',<br />
//json 형식을 설정하고 반환된 배열을 받습니다. <br />
데이터 유형: 'json',<br />
URL: '',<br />
//ajax는 현재 옵션의 값인 현재 지역 ID를 전달합니다. <br />
데이터: 'region_id=' + $('#region_' + num + '_' + address_id).val(),<br />
성공: 함수(msg) {<br />
// 반환 값이 비어 있지 않으면 실행합니다. <br />
If (msg != null) {<br />
~ >
// 다음 선택 항목에 추가할 콘텐츠를 작성하려면 루프를 반복합니다. 그리고 이름표를 추가해주세요. <br />
for (var i = 0; i < msg.length; i++) {<br />
option_str+='<option name="region_'+next+'"value="'+msg[i].id+'">'+msg[i].title+'';<br />
}<br />
//다음 선택 시 이름이 next로 표시된 내용을 삭제합니다. <br />
$("option[name='region_" + next + "']").remove();<br />
// 작성된 내용을 다음 선택 항목에 추가합니다. <br />
$('#region_' + 다음 + '_' + address_id).append(option_str);<br />
} 그렇지 않으면 {<s>
//반환 값이 비어 있으면 표시된 옵션을 모두 제거하고 기본 옵션을 복원합니다. <br />
for (var i = next; i <= 4; i++) {<br />
$("option[name='region_" + i + "']").remove();<br />
}<br />
}<br />
}<br />
<br />
})<br />
}<br />
</script><br><!-- 地域 -->
控 제어 장치: /**<br>
* [labindex 다단계 연계]<br>
* @return [유형] [설명]<br>
*/<br>
공개 함수 labindex(){<br>
//实验室地域<br>
$d=D('LabTypeRegion');<br>
if(IS_POST){<br>
if($_POST['region_id']){<br>
$region_id = $_POST['region_id'];<br>
$condition['pid'] = $region_id;<br>
$list = $d->where($condition)->select();<br>
// echo json_encode($list);<br>
$this->ajaxReturn($list);<br>
}<br>
}그밖에{<br>
$condition['pid'] = array('neq',0);<br>
$condition['level'] = 1;<br>
$list = $d->where($condition)->select();<br>
$this->할당('list',$list);<br>
<br>
}<br>
//实验室地域<br>
<br>
$this->display();<br>
}<code class="prettyprint linenums lang-php"> /**<br>
* [labindex 多级联动]<br>
* @return [type] [description]<br>
*/<br>
public function labindex(){<br>
//实验室地域<br>
$d=D('LabTypeRegion');<br>
if(IS_POST){<br>
if($_POST['region_id']){<br>
$region_id = $_POST['region_id'];<br>
$condition['pid'] = $region_id;<br>
$list = $d->where($condition)->select();<br>
// echo json_encode($list);<br>
$this->ajaxReturn($list);<br>
}<br>
}else{<br>
$condition['pid'] = array('neq',0);<br>
$condition['level'] = 1;<br>
$list = $d->where($condition)->select();<br>
$this->assign('list',$list);<br>
<br>
}<br>
//实验室地域<br>
<br>
$this->display();<br>
}
多级联动.zip ( 3.31 KB 下载:8 次 )