我想要求在页面注册中使用2个tabel选择我的代码选项
table prodi
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| id_prodi | varchar(3) | NO | PRI | NULL | |
| nama_prodi | varchar(30) | NO | | NULL | |
| id_fakultas | varchar(3) | NO | MUL | NULL | |
| id | int(2) | NO | MUL | NULL | |
+-------------+-------------+------+-----+---------+-------+
和
table jurusan
+---------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| id_fakultas | varchar(3) | NO | PRI | NULL | |
| nama_fakultas | varchar(40) | NO | | NULL | |
+---------------+-------------+------+-----+---------+-------+
这里的观点:
<label for="fakultas">Fakultas : </label>
<select id="fakultas" name="fakultas_user" onChange="fakultas">
<?php
foreach ($qfakultas as $fakultas) {
echo "<option value=".$fakultas->kd_fakultas.">".$fakultas->nama_fakultas."</option>";
}
?>
</select>
<hr>
<label for="jurusan">Jurusan : </label>
<select id="jurusan" name="jurusan_user" onChange="jurusan">
<?php
foreach ($qprodi as $prodi) {
echo "<option value=".$prodi->kd_prodi.">".$prodi->nama_prodi."</option>";
}
?>
</select>
但我会根据'id_fakultas'显示'nama_prodi'
当我点击'nama_fakultas'然后根据'id_fakultas'显示'nama_prodi'时如何显示?
谢谢
答案 0 :(得分:1)
以下是我可以提供帮助的Ajax代码,仅基于nama_prodi
获取id_falkutas
。
您可以将此代码用于您的项目,您需要做些什么。
不只是复制代码。只需几步(ID Lang:Jangan dicopy mentah2,hanya beberapa langkah saja untuk edit)。
- 将
YOUR_URL_HERE
更改为base_url()
或为其创建var
。- 将
中的控制器名称nama_controller
更改为CI_Controller
- 将
nama_fungsi
更改为您的函数以从模型(数据库)获取数据。
示例:ambil_data_jurusan
。- 从您的视图中移除
foreach - echo <option>
和onchange
。- 将脚本添加到视图文件中或创建新的
.js
文件。- 如果此代码对您有帮助,请帮我标记为正确答案。 (tolong dibantu gan)
醇>
请参阅代码示例:
<script>
$("#falkutas").on('change', function() {
$.ajax({
type:"POST",
url:'YOUR_URL_HERE/nama_controller/nama_fungsi',
data:{"falkutas_user":falkutas_user,"csrf_token":$("input[name=csrf_token]").val()},
dataType:'json',
success: function(result) {
for(var i=0; i<result.length; i++) {
res += '<option value="'+result[i]['id_prodi']+'">'+result[i]['nama_prodi']+'</option>';
}
$(document).ready(function() {
$("#prodi").html(res);
});
},
error: function(result) {
$(document).ready(function() {
$("#prodi").html(''); //empty select value
});
}
});
}
</script>
然后,在您的功能代码中:
// Inside function ambil_data_jurusan(), harusnya sudah jalan kalau gini
$return = $this->model->get_jurusan($this->input->post('falkutas',TRUE));
if(count($return)>0) {
echo json_encode($return);
}
在您看来,只需像这样选择空。
<select id="jurusan" name="jurusan_user">
</select>