当前位置: 首页 > 知识库问答 >
问题:

Laravel选择onchange更新请求查询参数

万俟靖
2023-03-14

在Laravel应用程序的前端,我有一个用户列表(正在寻找工作的人),我对该列表进行筛选,以过滤用户的某些参数,并使用request()附加URL。

我当前的过滤器都是锚,所以我使用HREF属性来更新url,如下所示:

按全时筛选

<a href="{{route('users.index', array_merge(request()->query(), ['work_type' => 'full_time'])) }}" class="list-group-item"> Full Time </a>

上面的过滤器将在url中附加mysite.io/users/?work_type=full_time,并过滤所有全职工作的用户。 我已经为所有使用锚标记和href的过滤器工作了这一切。

我不知道的是如何做一个类似的方法使用一个选择菜单过滤用户的城市?

我的数据库里有一个城市列表。 它们被动态地添加到“选择”菜单中并显示在页面上。

<select>
  <option value="1">City Name 1</option>
  <option value="2">City Name 2</option>
</select>

我试图实现的是如何在选择菜单的“onchange”中将城市ID传递给请求查询参数&city=2

共有1个答案

严开宇
2023-03-14

您可以向下拉元素添加事件侦听器,如果需要,可以重新加载页面或其他任何内容。 让我们来看一个用查询参数重新加载页面的示例。 我稍微更改了您的选择下拉标记,添加了一个ID和一个默认选项,

<select id="myFancyDropdown">
    <option>Choose city</option>
    <option value="1">City Name 1</option>
    <option value="2">City Name 2</option>
</select>

然后在JS中,当下拉列表被更改时,

let elmSelect = document.getElementById('myFancyDropdown');

if (!!elmSelect) {
    elmSelect.addEventListener('change', e => {
        let choice = e.target.value;
        if (!choice) return;

        let url = new URL(window.location.href);
        url.searchParams.set('city', choice);
        // console.log(url);
        window.location.href = url; // reloads the page
    });
}
 类似资料:
  • 问题内容: 我发现了具有正确答案的类似问题。但是它们对我来说有点复杂。我只想要一个简单的基本声明。 我有: …和: 如何合并它们? 问题答案: 有关OUTPUT子句的更多信息,请查看此文章。

  • 这是我在mongo的文档: 我需要更新内部房间阵列中的对象。我尝试了一个选择匹配元素的查询没有语法错误,但出现了一个错误: “errmsg”:“字段“calendar.0.rooms.0.price”必须是数组,但在文档{u id:ObjectId('5cd26a886458720f7a66a3b8')中为字符串类型”, 这是我的疑问: 这是我在StackOverflow中找到的一些参考,但没有帮

  • 我需要选择状态为'Delayed'的行,同时设置状态为'Progress'。 有没有使用JDBC的方法?

  • 我试图使用jpa组件来选择从标题中获取的id。我在文档中找到了一个使用本机select查询的示例: 我试图用${header.id}替换“1”常量: 这似乎不管用,我明白了: 也许还有别的方法可以让它发挥作用?

  • 当我将参数嵌入到下面的路径中时,我可以成功地传递参数 我应该使用‘参数’tabe只有当我做POST方法?我知道向JMeter传递参数是一个简单的问题,但我不能解决我的问题。

  • 问题内容: 我需要实现一个使用第一个查询参数来标识操作的Web服务,即客户端调用将类似于:或。 似乎我无法使用@Path注释来区分方法,因为区别特征在于查询参数。以下示例也引发了异常: 有没有一种方法可以根据查询参数指定要使用的方法?还是我真的必须定义一种方法并在其中检查是否设置了某些查询参数? 问题答案: 我认为Claudio是正确的-您可以使用Jersey,但是您将自己处理查询参数,因为它仅在

  • OTA更新查询与下载 获取access_token 终端设备 终端设备直接接入OTA服务器应当使用Client Credentials模式,client_id为设备id,client_serect为设备令牌. App接入 如果终端设备无法直接接入OTA服务器,而通过App中转,那么App应当也使用Client Credentials模式,client_id为app_id,client_secret