v2.5.2
Giriş yap

Belirli checkbox ları otomatik seçtirme

qplot
575 defa görüntülendi

Örnek olarak butona tıklayınca 2 ve 4 nolu checkbox checked olsun nasıl yapabilirim bunu :)

Belirli listeler oluşturacağım listede mısal 2 ve 4 olacak

<button>2 ve 4 olanı seç</button> 

<input type="checkbox" name="aktivite[]" value="1">
<input type="checkbox" name="aktivite[]" value="2">
<input type="checkbox" name="aktivite[]" value="3">
<input type="checkbox" name="aktivite[]" value="4">
 
Cevap yaz
Cevaplar (5)
ebykdrms
887 gün önce

@thenerepe sorunuza tam olarak doğru cevap vermiş.
Siz "Peki yüzlerce checkbox varsa bunları array'dan çekebilir miyim?" diye sorunuzu genişletmişsiniz.
Evet array ile seçebilirsiniz.

const selectedValues = ["2","4"]; // Sizin seçilmiş değerlerinizi tutan diziniz. Tüm değerler string türünde olmalı.

const $button = $("button"); // butonunuzu burada seçin.
const $checkboxes = $("input[type=checkbox]"); // checkbox'larınızı burada seçin.

// Butona tıklandığında...
$button.on("click", function() {

    // Tüm checkbox'ları tek tek dön.
    for(let i=0; i < $checkboxes.length; i++) {
    
        // Eğer bu checkbox'ın value'si selectedValues dizisinde var mı?
        const status = selectedValues.includes($checkboxes.eq(i).val());
        
        // Varsa checkbox seçili olur yoksa seçilmemiş olur.
        $checkboxes.eq(i).prop("selected", status);
          
    }
});

Siz büyük ihtimalle bu verileri PHP ile javascript'e gönderiyorsunuz ki "explode edip yazsak" demişsiniz.
Şimdi "Nasıl javascript array'ını PHP ile dolduracağım?" diye soracaksanız, PHP'deki verinin elinizde ne şekilde olduğuna bakmak gerekir.
Eğer elinizdeki veri şu formattaysa: $values = ["2", "4"]; bunu json_encode() fonksiyonuyla yapabilirsiniz:

<script>
    const selectedValues = <?= json_encode($values) ?>; // Sizin seçilmiş değerlerinizi tutan diziniz.
    
    // Tüm değerlerin string olduğuna emin olmamız gerekiyor.
    selectedValues.map(function(item) { item = item.toString(); });
    
    const $button = $("button"); // butonunuzu burada seçin.
    const $checkboxes = $("input[type=checkbox]"); // checkbox'larınızı burada seçin.
    
    // Butona tıklandığında...
    $button.on("click", function() {
    
        // Tüm checkbox'ları tek tek dön.
        for(let i=0; i < $checkboxes.length; i++) {
        
            // Eğer bu checkbox'ın value'si selectedValues dizisinde var mı?
            const status = selectedValues.includes($checkboxes.eq(i).val());
            
            // Varsa checkbox seçili olur yoksa seçilmemiş olur.
            $checkboxes.eq(i).prop("selected", status);
              
        }
    });
</script>

Eğer "PHP tarafında verilerim böyle array içinde değil. Nasıl array haline getireceğim?" derseniz bu bambaşka bir soru. Verinizin ne şekilde olduğunu belirten yeni bir soru oluşturmalısınız.

qplot
887 gün önce

iki cevap içinde çok teşekkürler evet @thenerepe doğru cevap verdi lakin ben soruyu yanlış sormuşum :)

PHP tarafında sorun yok bana sadece bu lazımdı.

kamp alanları sabit özelliklerini otomatik ekleteceğim bu sayede

teşekkürler

thenerepe
887 gün önce

Javascripte yeni başlayan olarak sorunuza en temel halinde cevap verdim daha kendimi geliştirme aşamasındayım ama saolsun @ebykdrms sordugunuz soruda cevap vermiş. kolay gelsin

qplot
887 gün önce

cevabın için teşekkürler lakin yuzlerce checkbox var bunları arraydan vs cekme ımkanımız yokmudur

2,4,7,8,9,33,25 tarzında yazsak oradan explode edip vs yapsak

thenerepe
887 gün önce

Javascript olarak pek bilgim yok ama stackoverflow'dan buldugum kadarı ile sizin işinizi görecek kodları bırakıyorum.

<form action="">

    <input type="checkbox" name="aktivite[]" value="first">First Option<br>
    <input type="checkbox" name="aktivite[]" value="second">Second Option<br> 
    <input type="checkbox" name="aktivite[]" value="third">Third Option<br>
    <input type="checkbox" name="aktivite[]" value="fourth">Fourth Option

</form>

<button type="button">2 ve 4 Degelerini İşaretle</button> 

$(function() {

  $("button").on("click",function() {
  
  //Burada value="deger" olan kısıma checkboxa hangi degeri verdiyseniz buraya yazacaksınız
    $("input[value='second']").prop("checked",true);
    $("input[value='fourth']").prop("checked",true);
    
    //Aynı Kodları Kopyalayarak Çogaltabilirsiniz.
    
    //$("input[value='first']").prop("checked",true);
    //$("input[value='third']").prop("checked",true);

    
  });
});

İstediginiz işlemin kodları bunlardır. Editleyerek buraya ekledim ama eger ki orijinal haline bakmak isterseniz linki'de bırkaıyorum.

JSFiddle Code