Sonra seçilen bir Select Box Gönder tutun

3 Cevap php

Benim web sitesinde, kullanıcının Tür tarafından oyun filtrelemek için izin verilir. Bir kullanıcı seçme kutusundan bir tarz seçer ve vurur gönderdiğinizde, sayfa ne filtre olduğunu görmek için GET kullanır. Şimdi filtre çalışıyor, sorunun seçme kutusunun seçimi varsayılan bir gider olduğunu ("All" diyor.)

Bir kullanıcı filtre isteği gönderdikten sonra, seçim kutusu sayfayı yeniden yükledikten sonra bu seçimi devam edeceğini bu yüzden istiyorum.

Orada bunu yapmak için ben düşünebildiğim tek bir yol var ama orada her seçeneği içine PHP ekleyerek gerektirir. PHP veya jQuery ile bunu hakkında gitmek için herhangi bir basit yolları var mı?

3 Cevap

Eğer daha önce çerezleri kullanmayı deneyin sürece seçilen seçeneği sunmak tam bir formu yapıyoruz varsayarak sadece (o jQuery kullanmak geri istemci alır kez bu olmaz, sunucu tarafı kod için kullanılabilir olacak teslim formu, ama bleh).

Seçeneği seçili seçeneği ile eşleşirse ben seçeneği etiketi PHP kullanmak ve selected="selected" echo istiyorum.

Eğer çoğaltılamaz kod bir sürü önlemek istiyorsanız, neden böyle bir şey yapamaz:

<select name="test">
<?php
$options = array(1 => 'Option 1', 2 => 'Option 2', 3 => 'Option 3');
foreach ($options as $key => $value) { 
   echo '<option value="' . $key . '"' . ($key == $_GET["test"] ? ' selected="selected"' : '') . '>' . $value . '</option>';
} ?>
</select>

Bunu jQuery ile bunu yapmak istemiyorum. İşte bunun için değil.

Sadece bir PHP dizi ve üzerinde döngü içinde seçenekleri var. İlmekli değer seçili seçeneği uyuyorsa, o zaman sadece selected özniteliğini ekleyin.

Örneğin

foreach ($options as $value => $label) {
    echo '<option value="' . $value . '" ' . ($selected == $value ? ' selected' : '') . '>' . $label . '</option>';
}

Eğer sadece size sayfa oluşturma istedikleri değeri için 6 değiştirmek döngü olmadan yapabilirsiniz

$("#$optionId[value=6]").attr('selected','selected');