php thinkphpは、第2階層連携、第3階層連携、第4階層連携、多階層連携、データベースとの接続、選択を実現します。
何か問題がある場合は、喜んでご指導ください。私たちは一緒に学び、進歩することができます。
共有することは美徳です。
ページ: <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script><br>
<!-- 選択した状態を保持したくない場合は、<if></if> タグの内容を削除できます --><br>
<!-- 各選択肢はレベル 1 です。選択肢は 2 つだけです。これはレベル 2 のリンケージ、3 はレベル 3 のリンケージ、4 はレベル 4 のリンケージです。そしてレベル 2 のリンケージ --><br>
<br>
<!-- 地域 --><br>
<div class="フォームグループ">
<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>
<br>
selected='selected' >{$vo['title']}<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>
<option value="{$row['region2_id']}" selected style="display:none;">{$region2}</option>
<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></select>
</div>
<br>
</div>
<br>
<script type="text/javascript">//デフォルトを設定し、ページのロード時にデフォルトのオプションを復元します。 <br />
関数region_default() {<br />
$("option[value='-1']").attr('selected', 'selected');<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 />
成功: function(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 />
//次の選択で、name next でマークされたコンテンツを削除します。 <br />
$("option[name='region_" + next + "']").remove();<br />
// 書き込んだ内容を次の選択に追加します。 <br />
$('#region_' + next + '_' + address_id).append(option_str);<br />
- - - (
//戻り値が空の場合は、マークされたオプションをすべて削除し、デフォルトのオプションを復元します。 <br />
for (var i = next; i <= 4; i++) {<br />
$("option[name='region_" + i + "']").remove();<br />
}<br />
}<br />
}<br />
<br />
})<br />
}<br />
</スクリプト><br /><!-- 地域 --></script>
制御器: /**<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['レベル'] = 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 次 )