Php'de Select-Option ile Id Çekme
Benim sorunum şu:
Select Option ile "Konya" yı seçtiğimde "Konya" nın id'si gelsin istiyorum. "Ankara" yı seçtiğimde "Ankara" nın id'si gelsin istiyorum. En son Ankarayı ekledim id si 37. Konya yı ekledim 36. id ile. Galiba javascript ile yapılabiliyor ama ben beceremedim. Yardım edebilir misiniz?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
Öncelikle teşekkür ederim. 1 haftadır uğraşıyorum buna. Javascript'i çok iyi öğreneceğim, bunun kaçarı yok.
"Input" "foreach" in dışında değil. Sormak istediğim şeyler var. İnternette baktığımda "queryselector" için "eşleşen ilk
kaydı bulma" işlemini yaptığını söylüyor. Yani "id" olsun, "name" olsun, hangisi "album" kelimesine uyarsa onu bul diyor
galiba.
"addEventListener" ise burada şu işe yarıyor anladığım kadarıyla: verilen "id" için bir olay varsa mesela "change" gibi
onun çalışmasını sağlıyor. Yalnız "change" den sonrayı anlayamadım.
"() => { id.value = album.value;"
Parantezlerin, ok işaretinin görevini ve aşağıda "id" leri neden birbirine atadık anlayamadım.
Bir de veritabanından çekerken çekilen "id" son eklenen "id" ama "option" da görünen
bir önceki seçenek. Yani ilk seçenek "İstanbul" => "id" => "1"
İkinci seçenek "İzmir" => "id" => "2"
Ekranda görünen "İstanbul" => "2" şeklinde.
'() =>' bu aslında 'function()' yazımının kısa hali yani,
Böylede yazılabilirdi.
Birbirine atama olayı dediğin yerde,
album dediğim senin select etiketin.
id dedigim ise ekranda select ile seçtiğin option, değerini göstericek olan input.
Şimdi sen select ile herhangi bir şey seçtiğinde seçtiğin şeyin option value değerini,
Bu şekilde alıyoruz misal istanbul seçtin idsi 34 olsun artık album değişkeninde 34 değeri var sonrasın da tek yapmak gereken ekrandaki inputta bunu göstermek o inputu da şu şekilde tanımlamıştık.
Ve de Foreach parantezleri burada
parantezlerin dışında olanı
Şeklinde düzelt
"option" kısmına "selected="selected" ekledim ve istediğimi yaptım. Çok teşekkür ederim.