php - 在 php 中加载页面时选择选项清除

标签 php javascript html ajax select

场景是这样的:见下方选择

<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>

我希望无论何时选择任何选项都会发生 3 件事:

1.) js limit() 函数被调用,它所做的一切都是获取当前 url,添加新的查询参数 'limit' 和用户选择的值,例如:

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

(这将导致 category.php 页面被命中,并且显示的产品数量限制为用户选择的值)

2.) 一旦 url 被点击,它会重新加载,但我不要希望选择的值重置为默认值(目前是这样做的)。我希望它在页面重新加载后反射(reflect)用户的选择。

3.) 此外,当我移动到下一页(分页)时,我希望将状态带到下一页(即记住用户选择)。

最佳答案

只需使用 PHP 分配选定的值:

<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>

由于代码变得难以阅读,您可以使用 PHP 进行循环:

<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>

关于php - 在 php 中加载页面时选择选项清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2295351/

相关文章:

php - 两种类型的用户登录系统

javascript - 回调后重复函数而不延迟(Jquery)

html - 如何使一个 div 跨越两行(仅在移动布局上)?

php - CakePHP 错误 : cake bake is using the wrong table name

php - 如何动态加载已解析为 PHP 的 Javascript?

PHP SQL 如何从表中获取准确的计数

javascript - 如何以 Angular 组织您的 .JS 文件?

javascript - 如何在Vue中使用不同文件中的函数

html - 调整大小时如何在不删除水平滚动条的情况下删除空白?

javascript - 如何制作 jQuery 变量切换按钮?