Option value sonrası doğru ikinci veriyi çekme
<div class="input-group-prepend">
<span class="input-group-text">kategori TR:</span>
</div>
<select id="inputStatus" class="form-control select2bs4 is-info" name="trkategori">
<option selected disabled>kategori seçin…</option>
<?php
$trkategori=$VT->VeriGetir("kategori","","","ORDER BY ID Desc");
foreach($trkategori as $trkategori){
echo '<option value="'.$trkategori["baslik"].'">'.$trkategori["baslik"].'</option>';
} ?>
</select>
Yukardaki işlem doğru çalışıyor kategorileri listeletip çekebiliyorum.
Ama aşağıdaki kod doğru çalışmıyor seçtiğim kategorinin tanıtımını alamıyorum.
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Kategori tanıtım:</span>
</div>
<input type="text" class="form-control" name="tanitim" disabled value="<?=$trkategori["tanitim"];?>">
</div>
İkinci kodun doğru çalışmasını nasıl sağlarım. İkinci kodu gözden geçirebilir misiniz?
Veritabanından sadece ilk sıradaki tanitim sütunu verisi geliyor.
Çok yere baktım ama bir türlü çözemedim yapamadım. Yardımınızı rica ediyorum.
Not: kodlar düzenlendi 09.05.21 16.42
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (9)
<select>
'in değeri değiştiğinde ajaxla değeri post ederek yapabilirsin.
$('#inputStatus').on('change', function(){
$.post( "ajax.php", {title: $(this).val()}, function(response) { // ajax.php yazan kısım nereye post edileceği yer.
$('[name="tanitim"]').val(response);
});
});
ajax.php
if(isset($_POST['title'])){
$trkategori = $VT->VeriGetir("kategori","","","ORDER BY ID Desc");
foreach($trkategori as $kategori){
if($_POST['title'] == $kategori['baslik']){
echo $kategori['tanitim'];
break;
}
}
}
@database VeriGetir fonksiyonum mu lazım?
işin özü birinci kodla (foreach) kategorileri getiriyorum. Aşağı açılır menü ile kategori başlığını seçiyorum.
Bana lazım olan seçtiğim başlığa göre onun tanitim metni de gelsin önüme tüm istediğim bu.
ikinci kod zaten hatalı, doğrusunu kuramadım.