belajar ajax

maaf agan agan semua, saya ganggu lagi dengan pertanyaan..

saya punya text field seperti di gambar,

saya ingin text field kedua otomatis terisi setiap text field pertama dipilih. saya gunakan ajax

ini html nya

 <input type="text" id="nomorcsc" list="nomor" value=""/>
	<datalist id="nomor">
      	<?php
        	do {
        ?>
            <option value="<?php echo $row_tes['idcsdform']; ?>"><?php echo $row_tes['clientcsd']; ?><?php echo $row_tes['nocsc']; ?></option>
        <?php
          	} while ($row_tes = mysql_fetch_assoc($tes));
        ?>
	</datalist>
<input type="text" id="qty" value=""/>
<input type="text" id="brt" value=""/>
<button class="add">Add</button>

dan ini ajax nya,


<script type="text/javascript">
$(document).ready(function(){
    $('#nomorcsc').on('change',function(){
        var nc = $(this).val();
        if(nc){
            $.ajax({
                type:'POST',
                url:'cobaa.php',
                data:'idcsdform='+nc,
                success:function(html){
                    $('#qty').html(html);
                }
            });
        }
    });
	$('#nomorcsc').on('change',function(){
        var nc = $(this).val();
        if(nc){
            $.ajax({
                type:'POST',
                url:'cobab.php',
                data:'idcsdform='+nc,
                success:function(html){
		    $('#brt').html(html);
                }
            });
        }
    });
});
</script>

dan ini cobaa.php nya,

 <?php
if(isset($_POST['idcsdform']) && !empty($_POST['idcsdform'])){
    $sql=mysql_query("SELECT * FROM formcsd JOIN csdcomm USING (idcsdcomm) WHERE idcsdform = '".$_POST['idcsdform']."'") or die (mysql_error());
    $row = mysql_num_rows($sql);
    if($row > 0){
        while($rowdata = mysql_fetch_assoc($sql)){
  			echo '<input value="'.$rowdata['quantity'].'">'.$rowdata['quantity'].'/>';
        }
    }
}
?>

terima kasih banyak para masta. mohon arahan nya

text field kedua id="qty" dan cobaa.php untuk mengisi text field kedua tersebut

avatar cupuh
@cupuh

44 Kontribusi 3 Poin

Diperbarui 6 tahun yang lalu

2 Jawaban:

Jawaban Terpilih

THE JAVASCRIPT

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">

  $(document).ready(function(){

      // eventya input jangan change.. karena saat milih list dia seakan2 sedang input ke
      // #nomorcsc

      $('#nomorcsc').on('input', function() {

        var nc = $(this).val();

        // find option .. each function = maksudnya akan dilakukan pencarian "<option>"
         // dan diulang2  sebanyak jumlah <option> yg ada di data list...
        $("#nomor").find("option").each(function() {

          // jika ketemu
          if ($(this).val() == nc) {

            $.ajax({
              type : 'POST',
              url  : 'cobaa.php',
              data : {idcsdform: nc},
              success : function(html) {
                  // nilai baliknya di split (memecah string)
                  var data = html.split('|');

                  // ngerti lah yaa..
                  $('#qty').val(data[0]);
                  $('#brt').val(data[1]);
              }
            });
          }
        })
      });

      // reset
      $("#reset").click(function(){
          $("#nomorcsc").val('');
      });
  });

</script>

THE HTML

<input type="text" id="nomorcsc" list="nomor" value=""/>
  <datalist id="nomor">
    <?php
      do {
    ?>
      <option value="<?php echo $row_tes['idcsdform']; ?>"><?php echo $row_tes['clientcsd']; ?><?php echo $row_tes['nocsc']; ?></option>
    <?php
      } while ($row_tes = mysql_fetch_assoc($tes));
    ?>
  </datalist>
<input type="text" id="qty" value=""/>
<input type="text" id="brt" value=""/>
  <!-- jangan lupa dikasih reset jika user salah pilih -->
<input type="button" id="reset" value="Reset">
<button class="add">Add</button>

THE PHP (cobaa.php)

<?php
if(isset($_POST['idcsdform']) && !empty($_POST['idcsdform'])){

  // rapiin bro masukin variabel
  $sqlString = "SELECT * FROM formcsd JOIN csdcomm USING (idcsdcomm) WHERE idcsdform = '".$_POST['idcsdform']."'";
  $sql = mysql_query($sqlString) or die (mysql_error());
  $row = mysql_num_rows($sql);
  if($row > 0){
    $rowdata = mysql_fetch_assoc($sql);

    // nilai yg dikembalikan .. dipisahkan dengan tanda pipa "|"
    echo $rowdata['quantity']. "|" . $rowdata['berat']; //sesuaikan nama field
  }
}
?>

NB: saran jangan pake Datalist .. ngk enak.. .wkwkw.. pake select aja.. kalau mau bisa difilter.. pake select2.. cari library nya..

Semoga membantu (^_^)/ .... work asal teliti.. hehe

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 6 tahun yang lalu

mantaps agan @ciloxz.. sangat membantu

avatar cupuh
@cupuh

44 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban