option value değerini dinleme
foreach ($urun as $urun)
{
echo '<option value="' . $urun["ubaslik"] . '">' . $urun["ubaslik"] . '</option>';
}
Bu sekilde urunler tablosundan ürün başlıklarını option value içine alıp seçim yapıyorum
ama şimdi ben bu seçimi nasıl dinletip urunler tablosundan yaptığım seçime göre ürünün kodunu (ukod) da getirtebilirim?
echo $urun[ukod]
ürün baslığı | ürün kodu |
---|---|
stoktakiler | s00 |
gelecekler | g01 |
Dediğim gibi option value ile Stoktakileri seçtiğimde bana value değeri olarak altına s00 yazsınki ben de bunu başka değer ile birleştirip forma post edebileyim.
<input type="text" class="form-control" placeholder="ambarkod…" name="ambarkod" readonly value="<?=$urun["ukod"],'-', str_pad($last_id+1, 4, '0', STR_PAD_LEFT) ?>">
//çıktısı şöyle olmalı: s00-0025
jquery ile mi yapılır hiç bilmiyorum. Yardımcı olur musunuz?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
Merhabalar,
jQuery & Ajax kullanarak dediğiniz işlemi yapabilirsiniz. Örneğin bizim x name'ine sahip bir select ve içinde optionlarımız olsun.
<select id="urunler" name="x">
<option value="a">A</option>
<option value="b">B</option>
<option value="c">c</option>
</select>
Siz istiyorsunuz ki kişi buradan bir seçim yaparsa, yaptığı seçime göre ürün kodunu getirsin.
Önce projeye jQuery'i dahil ediyoruz ve post işlemimizi yapıyoruz:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$("select.x").on('change', function(){
var secilenurun = $(this).children("option:selected").val();
$.ajax({
type: 'POST',
url: 'ajax.php',
data: {'secilenurun':secilenurun},
success:function (data) {
$("#urunid").remove();
$("#urunler").after(data);
}
});
});
<script>
Burada dedik ki:
urunler selectinden bir urun seçilirse bunun value değerini al ve ajax.php'ye post et.
Ardından ajax.php'den dönen değeri #urunler id'sine sahip selectin arkasına yaz.
(Burada yer alan $urunid, ajaxtan göndereceğimiz kısım)
Ajax.php dosyası:
<?php
if(isset($_POST["secilenurun"])){
$id = $_POST["secilenurun"];
//Bu kısımda veritabanı işlemlerini yapıp o ürünün idsini çektirin ve
return "<input id='urunid' type='hidden' value='CEKILEN_URUN_ID'>";
//şeklinde return edin.
}
?>
Ajax kısmında yazan $("#urunid").remove(); kısmını yazmamın sebebi, olur da burada seçim yapan kullanıcı, fikrini değiştirip başka bir şey seçerse, daha önce seçip eklettiği #urunid inputunu sildirip yenisini yazdırmak.
Kolay gelsin,
Saygılarımla