
核心原理
核心原理在于利用异步 javascript 和 xml (ajax) 技术。当用户在前端视图的下拉菜单中选择一个选项时,javascript(通常使用 jquery)会捕获这个 change 事件,并向服务器发送一个 ajax 请求。这个请求会携带用户选择的过滤条件。codeigniter 后端控制器接收到请求后,会调用模型层获取符合条件的数据,然后将数据以 json 格式返回给前端。前端 javascript 接收到 json 数据后,动态更新页面的表格内容,从而实现无刷新过滤。
实现步骤
我们将从前端到后端,逐步构建这个实时过滤功能。
1. 视图层 (View Layer) - HTML & JavaScript
首先,我们需要修改视图文件 (.php 文件) 来包含下拉菜单和表格,并添加必要的 JavaScript 代码。
-
HTML 结构: 为 select 元素添加一个唯一的 id,以便 jQuery 能够准确地选中它。同时,为了方便 AJAX 响应后更新表格,建议给
也添加一个 id。Source 0) { foreach ($records as $row) { ?>= $row->source ?> 暂无数据 JavaScript (jQuery AJAX): 在视图文件的底部,引入 jQuery 库,并编写 JavaScript 代码来监听下拉菜单的 change 事件,并发送 AJAX 请求。
代码解释:
- $('#sourceFilter').on('change', function() { ... });:当 ID 为 sourceFilter 的下拉菜单值改变时触发。
- `$(this).










