• 04-04-2020, 10:23:54
    #1
    Merhaba
    Düzenleme formunu içine eklediğim bir modalım var. Bu modala verileri ajax yardımıyla çekip, gönderiyorum. Veriler sayfama geliyor, console'dan görüyorum. Selectimin verileri de sayfama geliyor ama gelen veri select boxta seçili olmuyor. Gelen veriyi select boxta seçili hale nasıl getirebilirim?

    index.html içerisindeki düzenleme modalı:
    <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title pl-3" id="exampleModalScrollableTitle">Magazayı Duzenle</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true" class="text-white">&times;</span> </button> </div> <form method="post" id="frmedit" enctype="multipart/form-data"> <div class="modal-body pre-scrollable"> <input type="hidden" name="id" id="id" class="form-control"> <div class="form-group form-float mt-3"> <div class="form-line"> <input type="text" class="form-control" id="sira" name="sira" required> <label class="form-label">Sıra</label> </div> </div> <select class="form-control" name="durum" id="durum" required> <option>Durum Seçiniz</option> <option value="aktif">Aktif</option> <option value="pasif">Pasif</option> </select> </div> <div class="modal-footer"> <button type="button" class="btn bg-grey waves-effect iptal-butonu" data-dismiss="modal">İptal</button> <input type="submit" id="update" class="btn bg-purple waves-effect kaydet-butonu" value="Kaydet"> </div> </form> </div></div>
    index.html içindeki ajax kodları:
    $(document).ready(function() { $(document).on('click', '.bn-edit', function() { var id = this.id; console.log("id:" + id + ",type:magaza"); $.ajax({ type: "GET", url: "read.php?id=" + id + "&type=magaza", success: function(response) { $("#edit-modal").modal('show'); $.each(response, function(key, value) { console.log("key:" + key + ",value:" + value); }) $("#sira").val(response.sira); $("#durum").val(response.durum); $("#id").val(id); } }); });});
    case "magaza":   if(isset($_REQUEST["id"])){        $result = $mk_db->oku("magaza", " id='$id' ", "", "", "");        if(!empty($result)) {            $responseArray["sira"] = $result[0]["sira"];            $responseArray["durum"] = $result[0]["durum"];            echo json_encode($responseArray);        }    }    break;
  • 04-04-2020, 10:45:59
    #2
    kodlarınızı atın hocam daha çok yardımcı olabiliriz öyle
  • 04-04-2020, 10:52:19
    #3
    kodları görmek gerekiyor ama düzenleyebilirsin aşağıdaki gibi büyük ihtimal sorunu çözer

     <select class="form-control" name="kategori_secim">
    <option hidden value=""> <?=$sonuc['kategori_secim'];?> </option>
    <?php
    $alt = $dbh->query("select * from category ", PDO::FETCH_ASSOC);
    if ($alt->rowCount()) {
    foreach ($alt as $alt) {
    echo '<option '.($alt['id']==$sonuc["kategori_secim"]?"selected":"").' value="' . $alt['id'] . '">' . $alt['baslik'] . '</option>';
    echo '</optgroup>';
    }
    }
    ?>
     </select>
  • 04-04-2020, 10:54:37
    #4
    Hocam bunun kodunu 1 gün boyunca arıyordum bende PC geçince atayım size.
  • 04-04-2020, 11:56:25
    #5
    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    kodlarınızı atın hocam daha çok yardımcı olabiliriz öyle
    Dün konuyu kodlarla oluştururken hata vermişti de, şimdi ekleyebildim. İlk mesajımda görebilirsiniz.

    ynR adlı üyeden alıntı: mesajı görüntüle
    kodları görmek gerekiyor ama düzenleyebilirsin aşağıdaki gibi büyük ihtimal sorunu çözer

     <select class="form-control" name="kategori_secim">
    <option hidden value=""> <?=$sonuc['kategori_secim'];?> </option>
    <?php
    $alt = $dbh->query("select * from category ", PDO::FETCH_ASSOC);
    if ($alt->rowCount()) {
    foreach ($alt as $alt) {
    echo '<option '.($alt['id']==$sonuc["kategori_secim"]?"selected":"").' value="' . $alt['id'] . '">' . $alt['baslik'] . '</option>';
    echo '</optgroup>';
    }
    }
    ?>
     </select>
    Teşekkür ederim ama bu php kodu, bana ajax lazım.

    BySocial adlı üyeden alıntı: mesajı görüntüle
    Hocam bunun kodunu 1 gün boyunca arıyordum bende PC geçince atayım size.
    Teşekkür ederim, beklemedeyim. Ben de yaklaşık 3 gündür arıyorum, bulamadım. Ajax select ilişkisinde ya select optionları veritabanından yazdırma var ya da bir selectdeki seçime göre yeni select oluşması var. Ajax verisine göre optiona selected veren bir açıklama yok maalesef.
  • 04-04-2020, 14:03:04
    #6
    sakinnun adlı üyeden alıntı: mesajı görüntüle
    Dün konuyu kodlarla oluştururken hata vermişti de, şimdi ekleyebildim. İlk mesajımda görebilirsiniz.


    Teşekkür ederim ama bu php kodu, bana ajax lazım.


    Teşekkür ederim, beklemedeyim. Ben de yaklaşık 3 gündür arıyorum, bulamadım. Ajax select ilişkisinde ya select optionları veritabanından yazdırma var ya da bir selectdeki seçime göre yeni select oluşması var. Ajax verisine göre optiona selected veren bir açıklama yok maalesef.
    $("#durum option[value="+response.durum+"]").prop('selected', true);
    response.durum ' dan dönen veri 'aktif' ya da 'pasif' olarak geliyorsa hocam bu işini görür.
  • 04-04-2020, 14:38:31
    #7
    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    $("#durum option[value="+response.durum+"]").prop('selected', true);
    response.durum ' dan dönen veri 'aktif' ya da 'pasif' olarak geliyorsa hocam bu işini görür.
    Değer geliyor. Yalnız ben bu kodu nerede kullanayım? Yeni bir fonksiyon oluşturup, onun içinde mi kullanayım?

  • 04-04-2020, 14:46:45
    #8
    sakinnun adlı üyeden alıntı: mesajı görüntüle
    Değer geliyor. Yalnız ben bu kodu nerede kullanayım? Yeni bir fonksiyon oluşturup, onun içinde mi kullanayım?


    Ajaxsın içindeki.

    $("#durum").val(response.durum);
    şu kod ile değiştirin hocam.
  • 04-04-2020, 14:54:03
    #9
    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    Ajaxsın içindeki.

    $("#durum").val(response.durum);
    şu kod ile değiştirin hocam.
    Çalışmadı yine. Acaba benim selectimde mi sorun var?