select seçenek temizler php sayfa yüklendiğinde

4 Cevap php

senaryo şudur: aşağıya seçmek için bkz

<form name="limit">
    <select name="limiter" onChange="limit(this.value)">
        <option selected="selected">&nbsp;</option>
        <option value="5">5</option>
        <option value="10">10</option>
        <option value="15">15</option>
    </select>
</form>

Herhangi bir seçenek gerçekleşmesi 3 şey için seçilen zaman ben istiyorum:

. 1) js sınırı () işlevi onun geçerli url alır neden olan tüm denir, kullanıcı tarafından seçilen değeri örneğin yeni sorgu parametresi 'sınırı' ekler:

http://localhost/blahblah/apps/category.php?pg=1&catId=3021& limit=5

(Bu category.php sayfayı vurmak ve ürünün içinde kullanıcı tarafından seçilen değere sınırlı görüntülenir neden olacaktır)

Url vurmak sonra 2.), Bu yükler ama DONT şu anda yok varsayılan () geri sıfırlamak için seçilen değeri istiyorum. Ben o sayfayı yeniden sonra kullanıcıların seçimi yansıtmak istiyoruz.

I bir sonraki sayfada (sayfalama) taşıdığınızda. 3) Ayrıca, ben devlet kullanıcı seçimini hatırlayarak bir sonraki sayfada (yani) için ova yapılacak istiyorum.

4 Cevap

Sadece PHP kullanarak seçilen değeri atayın:

<form name="limit">
    <select name="limiter" onChange="limit()">
        <option <?php if(!isset($_POST['limiter'])) echo ' selected="selected"'; ?>>&nbsp;</option>
        <option <?php if(isset($_POST['limiter']) && $_POST['limiter'] == 5) echo ' selected="selected"'; ?> value="5">5</option>
        <option <?php if(isset($_POST['limiter']) && $_POST['limiter'] == 10) echo ' selected="selected"'; ?> value="10">10</option>
        <option <?php if(isset($_POST['limiter']) && $_POST['limiter'] == 15) echo ' selected="selected"'; ?> value="15">15</option>
    </select>
</form>

Kod okumak zor alır gibi, PHP ile yerine bir döngü yapabiliriz:

<form name="limit">
    <select name="limiter" onChange="limit()">
        <option <?php if(!isset($_POST['limiter'])) echo ' selected="selected"'; ?>>&nbsp;</option>
        <?php foreach(array(5, 10, 15) as $p): ?>
        <option <?php if(isset($_POST['limiter']) && $_POST['limiter'] == $p) echo ' selected="selected"'; ?> value="<?php echo $p; ?>">
            <?php echo $p; ?>
        </option>
        <?php endforeach; ?>
    </select>
</form>
<script type="text/javascript">
    function limit(value)
    {
        url = "localhost/yourapp?limiter="+value;
    }
</script>

<form name="limit">
    <select name="limiter" onChange="limit(this.value)">
        <option>&nbsp;</option>
        <option value="5" <?php if($_REQUEST['limiter'] == 5) {echo "selected";}?>>5</option>
        <option value="10" <?php if($_REQUEST['limiter'] == 10) {echo "selected";}?>>10</option>
        <option value="15" <?php if($_REQUEST['limiter'] == 15) {echo "selected";}?>>15</option>
    </select>
</form>

Ben form yöntemini bilmiyorum çünkü ben $_REQUEST burada kullanıyorum. Buna göre kullanın.

Tatu Ulmanen cevabı seçin görüntüleme bölümünü yönetir. Sayfalama düşeni yapmak için, sadece sorgu dizesi bir parametre olarak sınırı geçmek.

Örneğin, şu anda bu benziyorsun sayfa bağlantıları kullanıyorsanız:

<a href="http://localhost/blahblah/apps/category.php?pg=1&catId=3021">1</a>

O geçti gets böylece sınır parametresini eklemek onları değiştirmek:

<a href="http://localhost/blahblah/apps/category.php?pg=1&catId-3021&limit=5">1</a>

Sadece her sayfa sadece "sınır" ürün uzun olması için hesap için sayfalama kodunu değiştirmek için emin olun. Bunu yardımcı olmak için, ben size sayfalamayı yaptığını bilmek gerekir.

Eğer çalışıp çalışmadığını kontrol edebilirsiniz?

<script type="text/javascript">
function limit(myvalue)
{
location.href="http://yoursite?limit="+myvalue;
}

function querySt() {
hu = window.location.search.substring(1);
gy = hu.split("&");
for (i=0;i<gy.length;i++) {
ft = gy[i].split("=");
if (ft[0] == 'limit') {
for (var idx=0;idx<document.getElementById('limiter').options.length;idx++) {
            if (document.getElementById('limiter').value==ft[1]) {
                  document.getElementById('limiter').selectedIndex=idx;


                  }

                  }
}
}

}

   </script>

 </head>
 <body onload="querySt()">
 <form name="limits"> 
    <select onchange="limit(this.value)" id="limiter"> 
        <option selected="selected">&nbsp;</option> 
        <option value="5">5</option> 
        <option value="10">10</option> 
        <option value="15">15</option> 
    </select> 
</form> 

 </body>