Merhaba
Öncelikle php bilgim olduğunu fakat javascript bilmediğimi belirteyim.
Bildiğiniz gibi form elemanlarında input değer max="sayı" olarak atadığımda girilen değeri maximum belirlenen sayıdan yukarısı olarak kabul etmiyor.
Bu şekilde iki adet bölüm var biri "input" biri "select" bölümü.
Select bölümünde olanlar veritabanından çekiliyor ve veritabanında "uenfazla" diye bir alan var. Yapmak istediğim;
Select bölümünden seçilene göre "uenfazla" alanındaki sayı değerini input içindeki max değerine atamak. Bunu nasıl yapacağımı bilmiyorum. Yardımcı olursanız memnun olurum. Teşekkürler.
jQuery ile yapabilirsiniz. Selectte change olduğu zaman jQuery i tetikleyip attr metodu ile inputun max özelliğinde değişiklik yapabilirsiniz. Bunun için Query seçiciler change ve attr metodunu öğrenmeniz gereklidir.
Burası da js kısmı
/* Selectten seçildiği zaman */
$("#Zorunlu").change(function (){
var Furkan = $(this).val();
$("#Gereken").attr("max",Furkan);
});
/* Selectten seçildiği zaman */
/* Manuel girildiği zaman */
$('body').on('keyup','#Gereken',function(){
var Girilen=$("#Gereken").val();
var Furkan =$("#Zorunlu").val();
Furkan= Furkan*1;
if( Girilen > Furkan) {
$(this).val("");
}
});
/* Manuel girildiği zaman */
Türkçe Meali.
Zorunlu id'ye sahip elementte değişiklik olduğu zaman bu elementin val değerini alıp Furkan adlı değişkene atıyorum ve daha sonra sayıların girildiği Gereken id'li inputun max özelliğini değiştiriyorum.
Bir de keyup kısmında kullanıcı manuel olarakta sayı gireceği için aynı şekilde manuel olarakta max değerini geçmemesi için keyup metodu ile sınırlandırma yapıyoruz.
Gereken id ve isimleri siz kendinize göre değiştirebilirsiniz.
Teşekkür ederim FurkanKandemir çok ayrıntılı açıklamışsınız. Fakat ufak bir problem daha var. Ben bu max değerini veritabanından alacağım. Bunu nasıl ekleyebilirim? Ayrıca manuel giriş olmayacak o yüzden manuele gerek yok. Sadece inputun içine max="seçime göre gelen değer" yazsa benim için yeterli olacaktır.
Kısaca ben seçilen alandan verilen ürünün verilebilecek maksimum sayısını veritabanına girdim. Örneğin; birinin siparişi en fazla 5 tane verilecekse yani max="5" ise müşteri sağdaki inputa 10 yazınca uyarı vermesini sağlamak.
Veritabanından gelecekler zaten oda şu şekilde olacak.
//bu kısımda gerekli bilgileri db den çekersiniz. burda bir döngü while() { ?>
} ?>
Zaten bu değerler db den gelince js kısmı elinizde var. Dikkat etmeniz kısım seçici de kullandığınız id ler değişkenleri değiştirmek uygun bir şekilde. Ayrıca bu döngü de gelen ilk max değerini de inputa yazarsınız olur biter. Sayfa açılışında da böylelikle max değeri belirlersiniz. Şimdi diyeceksiniz ki ben döngünün içinden ilk değişkeni nasıl alıcam sürekli dönüyor. O da şu şekilde