根据选择框选择的值过滤结果

我一直在寻找相当长的一段时间,但我仍然没有找到一个合适的答案。 我正在尝试根据用户从选择框中选择的值来过滤我的结果。 但是,selectbox是从数据库中填充的,并且它的长度会有所不同。 第一个选择条目将为空,因此将显示所有匹配值。 但是当从选择框中选择了不同的值时,所有不匹配的主题都需要消失。 最简单的方法可能是使用Ajax,但我现在无法理解如何…

我正在开发prestashop,所以项目的前端使用smarty。 因此常规的PHP方法无法解决它。

所以php函数基本上将相关项的信息带入数组,然后将其推送到smarty进行显示。 (在forach)

像这样:

{foreach from=$projectsArray key=id item=projectOpen} {/foreach} 

从那里访问所有信息并在数组内构建结构非常容易。

这是我当前的ajax代码,用于在选择框更改时执行.php文件

选择框:

   All productsSelected {html_options values=$project_values output=$project_options}  

select-box再次特定于smarty,它只是填充数据库中的列表。

Ajax代码:

  $(document).ready(function() { $("#projects").change(function() { var id=$(this).val(); var dataString = 'id='+ id; $.ajax ({ type: "POST", url: baseDir + 'modules/blockprojekt/ajax-product_view_all.php', data: dataString, cache: false, success: function(html){ $("#rooms_view_container").html(html);} }); }); });  

在ajax文件中我正在通过它访问它

  $_POST['id'] 

但接下来我该怎么办呢? 是否更容易通过某些执行的查询更改数组值并替换以前的查询的整个内容,或者我可以根据selectbox值以某种方式过滤它?

BR的

我实际上试图通过绕山来实现我的解决方案。

由于forach项目连接到数据库中的selectbox项目,我能够使用简单的jquery来完成这个技巧并过滤它们。

这是代码。 也许有人发现它在将来有用。 这显然是因为forach循环。

   

BR的