PHP Thinkphp realisiert die Verknüpfung der zweiten Ebene, die Verknüpfung der dritten Ebene, die Verknüpfung der vierten Ebene, die Verknüpfung auf mehreren Ebenen sowie die Anbindung an die Datenbank und die Auswahl.
Wenn etwas nicht stimmt, können Sie uns gerne Ratschläge geben und wir können gemeinsam lernen und Fortschritte machen.
Teilen ist eine Tugend.
Seite: <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script><br>
<!-- Wenn Sie den ausgewählten Status nicht beibehalten möchten, können Sie den Inhalt des <if></if>-Tags entfernen --><br>
<!-- Jede Auswahl ist eine Ebene eins, nämlich eine Ebene zwei-Verknüpfung, drei eine Ebene drei-Verknüpfung, vier eine Ebene vier-Verknüpfung und so weiter und eine Verknüpfung der Stufe zwei. Normal --><br>
<br>
<!-- Region --><br>
<div class="form-group">
<br>
<label class="col-sm-2">Laborregion</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">Stadt</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>
</volist></select><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">Schule</option>
<br>
?
<if condition="$row['region2_id'] 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>
?
</if></select><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">College</option>
<br>
?
<if condition="$row['region3_id'] 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>
</div>
<br>
</div>
<br>
<script type="text/javascript">//Legen Sie die Standardoption fest und stellen Sie die Standardoption wieder her, wenn die Seite geladen wird. <br />
Funktion region_default() {<br />
$("option[value='-1']").attr('selected', 'selected');<br />
}<br />
Funktion setregion(num, address_id) {<br />
var next = num 1;<br />
$.ajax({<br />
Typ: 'POST',<br />
//Legen Sie das JSON-Format fest und erhalten Sie das zurückgegebene Array. <br />
dataType: 'json',<br />
URL: '',<br />
//ajax übergibt den Wert der aktuellen Option, die die aktuelle Regions-ID ist. <br />
Daten: 'region_id=' $('#region_' num '_' address_id).val(),<br />
Erfolg: function(msg) {<br />
// Ausführen, wenn der Rückgabewert nicht leer ist. <br />
If (msg != null) {<br />
var option_str =
// Schreiben Sie den Inhalt, der in der nächsten Auswahl hinzugefügt werden soll. und Namensschild hinzufügen. <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 />
//In der nächsten Auswahl den mit „name next“ markierten Inhalt löschen. <br />
$("option[name='region_" next "']").remove();<br />
// Füge den geschriebenen Inhalt zur nächsten Auswahl hinzu. <br />
haben
} Sonst {<s>
// Wenn der Rückgabewert leer ist, entfernen Sie alle markierten Optionen und stellen Sie die Standardoptionen wieder her. <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-Mehrebenenverknüpfung]<br>
* @return [Typ] [Beschreibung]<br>
*/<br>
öffentliche Funktion 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>
/>
}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>
$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 Monate lang)