Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

ajax yang dijalankan dua kali

mo tanya nih ini adalah potongan program sederhana
<script>
$(document).ready(function(){
$('#id_area').change(function(){
$.ajax({
type : "POST",
url : "ajax/mobil.php",
data : "id="+$('#id_area').val(),
success : function(data){
arr=data.split('|');
$('#combo_mobil').html(arr[0]);
$('#combo_biaya').html(arr[1]);
}
});
});
$('#id_mobil').change(function(){
$.ajax({
type : "POST",
url : "ajax/biaya.php",
data : "id="+$('#id_mobil').val(),
success : function(data){
$('#combo_biaya').html(data);
}
});
});
});
</script>
<select id=id_area name=id_area>
<?php
$sql='SELECT * FROM mstr_area WHERE is_void=0 ORDER BY nama_area';
$query=mysql_query($sql);
$no=0;
$id_area=0;
while($data=mysql_fetch_array($query))
{
if ($no==0)
$id_area=$data['id_area'];
echo '<option value="'.$data['id_area'].'">'.$data['nama_area'].'</option>';
$no++;
}
?>
</select>
<span id=combo_mobil>
<select id=id_mobil name=id_mobil>
<?php
$sql='SELECT * FROM mstr_mobil WHERE is_void=0 AND id_area="'.$id_area.'" ORDER BY merk_mobil,jenis_mobil';
$query=mysql_query($sql);
$no=0;
while($data=mysql_fetch_array($query))
{
if ($no==0)
$id_mobil=$data['id_mobil'];
echo '<option value="'.$data['id_mobil'].'">'.$data['merk_mobil'].' '.$data['jenis_mobil'].' '.$data['tahun'].'</option>';
$no++;
}
?>
</select></span>
<span id=combo_biaya>
<select id=id_biaya name=id_biaya>
<?php
$sql='SELECT * FROM mstr_biaya WHERE is_void=0 AND id_mobil="'.$id_mobil.'" ORDER BY biaya';
$query=mysql_query($sql);
while($data=mysql_fetch_array($query))
{
echo '<option value="'.$data['id_biaya'].'">'.number_format($data['biaya']).' - '.$data['durasi'].'</option>';
}
?>
</select></span>


keinginan yang ingin dicapai
intinya ketika mengubah area, mobil dan biaya berubah
dan ketika mengubah mobil hanya biaya yang berubah

dari program di atas
kesulitan ketika area diganti mobil dan biaya mau terganti
namun ketika mobil diganti namun tidak mau terganti

apa ada yang salah dengan potongan program nya
mohon bantuannya
terimakasih
atau klo ada cara lainnya
thx b4
Tagged:

Comments

  • edited April 2015
    $('#id_area').change(function(){
      ...
      url        : "ajax/mobil.php",
      ...
        $('#combo_mobil').html(arr[0]);
      ...
    });
    $('#id_mobil').change(function(){
      ...
    });


    <span id=combo_mobil>
    <select id=id_mobil name=id_mobil>
    ...
    ...
    </select>
    </span>



    tergantung respon ajax/mobil.php itu isinya apa ...

    elo me-replace isi <span id=combo_mobil> ... </span>
    id_mobil ada di dalamnya

    kalo elo replace, kemungkinan ada 2 :
    - id_mobil jadi hilang
    - event jadi kagak melekat lagi di id_mobil

  • edited April 2015
    <!--?php
    session_start();
    include '../config/koneksi.php';
    $id_area=$_POST['id'];
    $sql='SELECT * FROM mstr_mobil WHERE is_void=0 AND id_area="'.$id_area.'" ORDER BY merk_mobil,jenis_mobil';
    $q=mysql_query($sql);
    echo '<select id=id_mobil name=id_mobil-->';
    $no=0;
    while($data=mysql_fetch_array($q))
    {
    if($no==0)
    $id_mobil=$data['id_mobil'];
    echo '<option value=".$data[" id_mobil'].'="">'.$data['merk_mobil'].' '.$data['jenis_mobil'].' '.$data['tahun'].'</option>';
    $no++;
    }
    echo '|';
    $sql='SELECT * FROM mstr_biaya WHERE is_void=0 AND id_mobil="'.$id_mobil.'" ORDER BY biaya';
    $q=mysql_query($sql);
    echo '<select id="id_biaya" name="id_biaya">';
    while($data=mysql_fetch_array($q))
    {
    echo '<option value=".$data[" id_biaya'].'="">'.number_format($data['biaya']).' - '.$data['durasi'].'</option>';
    }
    echo '</select>'; ?&gt;

    ini isi ajax/mobil
    dan ini isi dari ajax biaya

    <?php
    session_start();
    include '../config/koneksi.php';
    $id_mobil=$_POST['id'];
    $sql='SELECT * FROM mstr_biaya WHERE is_void=0 AND id_mobil="'.$id_mobil.'" ORDER BY biaya';
    $q=mysql_query($sql);
    echo '<select id=id_biaya name=id_biaya>';
    while($data=mysql_fetch_array($q))
    {
    echo '<option value='.$data['id_biaya'].'>'.number_format($data['biaya']).' - '.$data['durasi'].'</option>';
    }
    echo '</select>';
    ?>
  • edited April 2015
    kalo "id_mobil" ada, tapi event kagak nyambung
    berarti event nya hilang

    gw pan sudah bilang kemungkinan masalah nya dari 2 hal



    masalah nya ini lho mas :

    $(document).ready(function(){
    ...
      $('#id_mobil').change(function(){
    ...
    });

    event onchange elo lekatkan ke elemen ber-id "id_mobil" pada saat dokumen selesai di load
    "id_mobil" yg mana ?
    ya "id_mobil" yg ada saat halaman dibuka

    tapi kalo konten "combo_mobil" isinya elo ganti
    meskipun di dalam nya ada "id_mobil" tapi itu beda dgn "id_mobil" yg ada saat halaman dibuka

    logikanya :

    saat buka halaman ... combo elo bentuknya kaya begini :
    <select id=id_mobil name=id_mobil onchange="...">

    tapi saat elo replace jadinya :
    <select id=id_mobil name=id_mobil>

    pilihan elo :

    - yg elo replace bukan "combo_mobil" tapi "id_mobil"
    - event bukan elo lekatkan pake .change(...) , tapi elo buat manual pake onchange="..."
    otomatis fungsi nya harus elo ubah supaya bisa dipanggil langsung
    function nama_fungsi() { ... }
  • edited May 2015
    thx atas penjelasan dan solusinya
    sangat membantu gua
Sign In or Register to comment.