Advertisement
arijulianto

Ajax Form Provinsi - Kota/Kabupaten - Kecamatan - Kelurahan

Jan 29th, 2019
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 4.27 KB | None | 0 0
  1. <!-- HTML -->
  2. <div class="modal modal-action fade modal-address" style="background:rgba(0,0,0,0.5)" data-backdrop="false">
  3.   <div class="modal-dialog">
  4.     <form class="modal-content form-address">
  5.       <div class="modal-header">
  6.         <!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> -->
  7.         <h4 class="modal-title">Tambah Alamat Baru</h4>
  8.       </div>
  9.       <div class="modal-body">
  10.         <p>Nama Alamat<br />
  11.         <input type="text" name="addr_label" class="form-control" placeholder="Nama Alamat (Misal: Rumah)" required /></p>
  12.         <p>Nama Penerima<br />
  13.         <input type="text" name="addr_name" class="form-control" placeholder="Nama Penerima" required /></p>
  14.         <p>Nomor Telp/HP<br />
  15.         <input type="tel" name="addr_phone" class="form-control" placeholder="No HP, 08xxx" required /></p>
  16.         <p>Alamat Jalan<br />
  17.         <textarea name="addr_alamat" rows="2" class="form-control" placeholder="Alamat Lengkap" required></textarea></p>
  18.         <p><label for="alamat">Provinsi</label><br />
  19.         <select name="addr_prov" class="provinsi form-control idn" data-target=".block-kota" required><option value="">=Pilih Provinsi=</option><?php
  20.         $prov = $db->query("SELECT idprovinsi,provinsi from tbl_provinsi order by idprovinsi")->results();
  21.         foreach($prov as $p){
  22.             $sel = $p['idprovinsi']==$data['idprovinsi'] ? ' selected' : ($_POST['prov']==$p['idprovinsi'] ? ' selected' : '');
  23.             echo "<option value=\"$p[idprovinsi]\"$sel>$p[provinsi]</option>";
  24.         }
  25.         ?></select></p>
  26.         <div class="row">
  27.             <div class="col-md-6 col-sm-6 col-xs-12 block-kota" style="display:none">
  28.             <p><label>Kota</label><br />
  29.             <select name="kota" class="form-control idn kota" data-target=".block-kecamatan"<?=$disabled?> required><option value="">Pilih Kota</option></select></p>
  30.             </div>
  31.             <div class="col-md-6 col-sm-6 col-xs-12 block-kecamatan" style="display:none">
  32.             <p><label>Kecamatan</label><br />
  33.             <select name="kecamatan" data-target=".block-kelurahan" <?=$disabled?> class="idn kecamatan form-control"><option value="">Pilih Kecamatan</option></select></p>
  34.             </div>
  35.         </div>
  36.         <div class="row block-kelurahan" style="display:none">
  37.             <div class="col-md-6 col-sm-6 col-xs-12">
  38.             <p><label>Desa/Kelurahan</label><br />
  39.             <select name="addr_kelurahan"<?=$disabled?> class="kelurahan form-control"><option value="">Pilih Desa/Kelurahan</option></select></p>
  40.             </div>
  41.             <div class="col-md-6 col-sm-6 col-xs-12">
  42.             <p>Kode Pos<br />
  43.             <input type="text" name="addr_pos" minlength="5" maxlength="5" class="form-control" placeholder="Kode Pos" required /></p>
  44.             </div>
  45.         </div>
  46.         <p><label><input type="checkbox" name="utama" value="1" /> Jadikan sebagai alamat utama</label></p>
  47.       </div>
  48.       <div class="modal-footer">
  49.         <input type="hidden" name="pid" value="0" />
  50.         <button type="submit" class="btn btn-primary btn-save-alamat">Simpan</button>
  51.         <button type="button" class="btn btn-danger" data-dismiss="modal">Batal</button>
  52.       </div>
  53.     </form>
  54.   </div>
  55. </div>
  56.  
  57.  
  58.  
  59.  
  60.  
  61. <!-- JavaScript/Ajax -->
  62. $(document).on('change', '.idn', function(){
  63.     var code = $(this).val();
  64.     var targ = $(this).attr('data-target');
  65.     var $this = $(this);
  66.     var arr = {
  67.         provinsi: {
  68.             targ: "kota",
  69.             lbl: "=Pilih Kota/Kabupaten=",
  70.             hide: ["kecamatan", "kelurahan"]
  71.         },
  72.         kota: {
  73.             targ: "kecamatan",
  74.             lbl: "=Pilih Kecamatan=",
  75.             hide: ["kelurahan"]
  76.         },
  77.         kecamatan: {
  78.             targ: "kelurahan",
  79.             lbl: "=Pilih Desa/Kelurahan=",
  80.             hide: []
  81.         }
  82.     }
  83.     var tt = $(this).attr('class').replace('form-control','').replace('idn','')
  84.     tt = tt.replace(/ /g,'');
  85.     targ = '.block-'+arr[tt].targ;
  86.     $(targ).show();
  87.     $(targ).find('select').html('<option value="0">Loading...</option>');
  88.     $.each(arr[tt].hide, function(i, cl){
  89.         $('.block-'+cl).hide();
  90.     });
  91.     $.getJSON('<?=SITE_URI?>member/idn/'+code+'.json', function(res){
  92.         $(targ).find('select').html('<option value="">'+arr[tt].lbl+'</option>');
  93.         $.each(res, function(i, row){
  94.             $(targ).find('select').append('<option value="'+row.kode+'">'+row.nama+'</option>');
  95.         });
  96.         $(targ).find('select').focus();
  97.     });
  98. });
  99.  
  100. <!-- FORMAT JSON -->
  101. https://prnt.sc/mdmkx0
  102. https://prnt.sc/mdml6n
  103. https://prnt.sc/mdmlkl
  104. https://prnt.sc/mdmltm
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement