通过单击复选框筛选搜索结果


filter search results by clicking checkboxes

我有一个搜索页面,用户可以在其中键入搜索框,也可以使用按字母顺序排列的列表来搜索他们要查找的记录。例如,他们点击"a",所有以字母"a"开头的记录都会出现。

我还希望每个记录都有多个标签,然后我希望能够根据选择的标签来过滤记录,最好是使用复选框。

例如,标签可能是彩色的,记录代表鞋子。会有蓝色、黄色、黑色、棕色等复选框。起初,所有颜色都会显示出来,但如果用户点击棕色,那么除了棕色鞋子之外,其他颜色都会消失。

我正在使用CakePHP

 // cakephp view
 echo $this->Form->checkbox("Model.color.0", array("value"=>"green"));
 // cakephp controller
 $filtered = $this->Model->find("all", array(
   "conditions"=> array(
     // ...
   ) + $this->data
 ));
 //or
 $this->paginate['conditions'] = array(
   //...
 ) + $this->data;
 $filtered=$this->paginate();

jQuery UI自动完成插件就是您想要的。

你可以在这里试用演示-http://docs.jquery.com/UI/Autocomplete#demo

在演示中,他们使用了一个静态本地选项。但你也可以使用远程URL,它会根据你的搜索词生成一个特定的列表。查看各种选项。

请尝试一下,如果你遇到问题(我相信你会的),请在这里再次询问。