php - 使用选择下拉选项 Laravel 生成 ?filter[color]=2&filter[brand]=apple 等 url 参数
问题描述
嗨,在我的项目中,我想通过选择选项过滤产品,我有一些下拉选择选项:
首先是颜色,其次是品牌等。
我使用一种使用 elequentbuilder 的方法。在我的场景中,参数应该传递给像http://localhost:8000/news/search?filter[color]=red&filter[brand]=apple这样的控制器。
我的问题是实现此场景的最佳方法是什么,这意味着当我从选择下拉列表中选择品牌时,当我选择颜色下拉表单提交并在下一个请求中显示http://localhost:8000/news/search?filter[color]=red时表单提交并显示 http://localhost:8000/news/search?filter[color]=red&filter[brand]=apple等我只是在寻找一种像我说的那样生成 url 的方法。
解决方案
看看 HTML5 JavaScript History API。有了它,您可以执行以下操作来修改浏览器 url:
<a href="javascript:push('http://myshop.com/books/123');">
Book 123
</a> <br/>
<a href="javascript:push('http://myshop.com/apps/456');">
App 456
</a>
<script>
function loadUrl(url) {
console.log("loading data from url: " + url);
}
function push(url) {
history.pushState(null, null, url);
loadUrl(url);
}
<script>
取自这篇文章。
推荐阅读
- python - 如何避免可变子类作为 Python 中的属性在两个类实例之间共享?
- javascript - js中如何让每只耳朵发出不同的声音?
- c# - C# Razor Html.Raw 导致与条件语句发生冲突
- django - Stripe with Django - 从 Session 中检索产品/价格
- excel - 在excel中提取文本
- linq - 为什么不能翻译 F# LINQ 表达式 - 至少部分翻译?
- angular - 带有 :leave/:enter 的角动画似乎只在页面重新加载时做一些事情
- google-analytics - 获取特定事件计数,Google Analytics Data API (GA4) 中的 Google Analytics 4
- c - 我怎么知道我是否正在产生未定义的行为
- python - 它没有在我的骰子上检测到所有带有 cv2.HoughCircles 的圆圈