在 jQuery EasyUI 中,可以使用 filter 方法来过滤下拉框数据网格。下面是一个简单的例子,演示如何在 EasyUI 的下拉框数据网格中应用过滤:

1. HTML 结构:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Filtered Combo Box</title>
    <link rel="stylesheet" type="text/css" href="path/to/jquery-easyui/themes/default/easyui.css">
    <script type="text/javascript" src="path/to/jquery.min.js"></script>
    <script type="text/javascript" src="path/to/jquery-easyui/jquery.easyui.min.js"></script>
</head>
<body>
    <div>
        <label for="filteredCombo">选择选项:</label>
        <input id="filteredCombo" />
    </div>

    <script>
        // 在这里编写 JavaScript 代码
    </script>
</body>
</html>

2. JavaScript 代码:
$(function(){
    // 创建下拉框
    $('#filteredCombo').combobox({
        valueField: 'id',
        textField: 'text',
        url: 'path/to/your/data-service',  // 替换为实际的数据服务接口
        mode: 'remote',  // 远程模式
        onSelect: function(record){
            // 在选择项时,触发过滤
            $('#filteredCombo').combobox('grid').datagrid('load', {
                filter: record.text  // 过滤条件,这里使用选中项的文本
            });
        },
        onLoadSuccess: function(){
            // 在加载成功时,初始化过滤条件为空
            $('#filteredCombo').combobox('setValue', '');
        }
    });
});

3. 数据服务接口(示例,可根据需要替换):

假设你的数据服务接口是一个可以接收过滤条件的服务。例如,接口可能接受参数 filter 并返回相应的数据。在实际场景中,你需要根据你的后端服务的实现来修改这个接口。
// 示例:数据服务接口
app.get('/path/to/your/data-service', function(req, res){
    // 获取过滤条件
    var filter = req.query.filter;

    // 根据过滤条件过滤数据(示例数据)
    var filteredData = yourData.filter(function(item){
        return item.text.indexOf(filter) !== -1;
    });

    // 返回过滤后的数据
    res.json(filteredData);
});

确保替换实际的 EasyUI 文件路径、数据服务接口以及其他选项,以适应你的具体需求。


转载请注明出处:http://www.zyzy.cn/article/detail/13148/jQuery EasyUI