Laravel 5.5 中的多字段排序
Posted
技术标签:
【中文标题】Laravel 5.5 中的多字段排序【英文标题】:Multi-field sorting in Laravel 5.5 【发布时间】:2018-04-05 01:12:46 【问题描述】: 我最近刚开始使用 Laravel 5.5。我被困在排序功能上。 我在视图中使用了 onchange 功能,因此用户可以选择 asc/desc 排序。 重点是如何在用户按名称搜索或按类别排序后按产品价格排序? 我有搜索但不明白如何在 Laravel 中的 URL 上发送参数。如何在路由/URL 上发布它?如何在 Controller 中使用它?查看:
<select id = "sorting" name = "sorting" class="form-control selecting" onchange="Sorting()">
<option value="normal">Sort by Price</option>
<option value="asc">Price Ascending</option>
<option value="desc">Price Descending</option>
</select>
function Sorting()
var sorting = document.getElementById('sorting').value;
if(sorting == "asc")
window.location.href="route('product-management.asc')";
if(sorting == "desc")
window.location.href="route('product-management.desc')";
【问题讨论】:
【参考方案1】:使用 html 表单将数据发布到某个 URL,请参阅https://www.w3schools.com/html/html_forms.asp。
如果您不想使用 HTML 表单,可以使用 AJAX 请求。见https://www.w3schools.com/xml/ajax_intro.asp
顺便说一句,我建议您在客户端使用排序,这不太复杂并且不会使用不必要的资源。
【讨论】:
谢谢,我刚开始编程,所以不了解“在客户端”。如果我把它放在表单中,只要用户将 您想要实现的是用户能够在特定点击时对特定数据进行排序,对吧?据我了解,您正试图通过向您的服务器发送请求、对数据进行排序、然后用排序后的数据进行响应,然后将数据呈现到您的屏幕上来做到这一点,对吧?我认为这是不必要的,而您只需使用一些 JavaScript 就可以立即对数据进行排序。请参阅此基本示例:w3schools.com/jsref/jsref_sort.asp 哦,好的。谢谢加雷。我会试试的 如果您对 jQuery 感到满意,您应该尝试 DataTables.js。效果很好!您可以重新排序任何列,甚至提供分页。我在自己的 Laravel 项目中使用它。 @kaori 你的解决方案是什么?请为未来的读者标记任何答案:)以上是关于Laravel 5.5 中的多字段排序的主要内容,如果未能解决你的问题,请参考以下文章