データベースから選択値を変更しようとしていますが、返却フォームはForeach
の1つしかありません。私はこの場合の正しい方法を知らない。 私はhttp://jsfiddle.net/YPsqQ/のような結果が欲しいですが、データはデータベースからです。問題は、すべてのデータを解析して表示する方法です。ただ一つではありません。たぶん、Jqueryのループですか?しかし私はそれをする方法を知らない。 ここにコードがありますが、私はCodeigniterを途中で使用しています。あなたはこのコードを使用して、必要に応じて変更することができますAJAXデータベースから選択値を変更する方法
コントローラ
public function prodi_pindah()
{
if (!$this->login and !$this->admin){
redirect('akademik/logout');
}
else
{
$this->load->model('mahasiswa_model');
$this->mahasiswa_model->prodi_pindah();
}
ビュー
<input type="text" name="ptasal" id="ptasal" class="addresspicker" /> // this input has jquery Autocomplete ,
<input type="hidden" name="id_pt_asal" id="id_pt_asal" /> // this input has ID that sent to model, this ID change whenever ptasal change too
<select name="id_prodi_asal" id="id_prodi_asal" style="">
<option value="">-- Pilih Program Studi--</option>
</select>
<script>
$(document).ready(function(){
$("#id_prodi_asal").click(function(event){
var formData = {
'id_pt_asal': $('input[name=id_pt_asal]').val()
};
$.ajax({
type: 'POST',
url: '<?=base_url()?>akademik/prodi_pindah',
data: formData,
dataType: 'json',
encode: true
})
.done(function(data) {
console.log(data);
if (data.hasil_prodi==true)
{
}
if (data.hasil_prodi==false)
{
}
})
event.preventDefault();
});
});
</script>
モデル
public function prodi_pindah()
{
$id_pt_asal = $this->input->post('id_pt_asal');
$kue_prodi = $this->db->query("SELECT
ps.nama_perguruan_tinggi,
ps.nama_program_studi,
ps.`status`,
rjp.nm_jenj_didik,
ps.nama_jenjang_pendidikan,
ps.id_prodi
from ref_prodi ps
INNER JOIN ref_jenjang_pendidikan rjp ON ps.id_jenjang_pendidikan=rjp.id_jenj_didik
WHERE status = 'A' AND id_perguruan_tinggi = '$id_pt_asal'
");
foreach ($kue->result() as $row){
$value = $row->id_prodi;
$isi = $row->nama_jenjang_pendidikan.' - '.$row->nama_program_studi;
$has = '<option value='.$value.'>'.$isi.'</option>';
}
$data['html']="<option value=''>-- Pilih Program Studi--</option>$has"; // I want $has had all result, not just one. Here the problem.
$data['hasil_prodi']=TRUE;
echo json_encode($data);
}
ありがとう、完璧に動作します。私は追加について何も知らなかった。 –