Fastadmin中表格中修改字段值

U盘安装单系统ubuntu10.04之全过程&拔掉U盘后系统无法启动 借助U盘把电脑装成ubuntu单系统之过程记录,以及遇到拔掉U盘后系统无法启动问题,电脑就显示: Non-System disk or disk error, replace and strike any key when ready 阅读详情

require-table.js

// classname = j.classname ? j.classname : (dropdown ? 'btn-' + name + 'one' : 'btn-primary btn-' + name + 'one');
classname = typeof j.classname === 'function' ? j.classname.call(table, row, j) : j.classname ? j.classname : (dropdown ? 'btn-' + name + 'one' : 'btn-primary btn-' + name + 'one');

1. 点击弹窗选择修改

1.1 对应js文件

1.1.1 表格字段

{
    field: 'anti_spam_level',
    title: __('Anti_spam_level'),
    table: table,
    buttons: [
        {
            name: 'anti_spam_level',
            text: function (row,
                value) {
                return row.anti_spam_level_text
            },
            title: function (row,
                value) {
                return row.anti_spam_level_text
            },
            classname: function (row,
                value) {
                if (row.anti_spam_level == 1) {
                    return 'btn btn-xs btn-success click_anti_spam_level'
                } else if (row.anti_spam_level == 2) {
                    return 'btn btn-xs btn-warning click_anti_spam_level'
                } else if (row.anti_spam_level == 3) {
                    return 'btn btn-xs btn-danger click_anti_spam_level'
                }
            },
    },
  ],
    formatter: Table.api.formatter.buttons
},

1.1.2 绑定对应事件

// 为表格绑定事件
Table.api.bindevent(table);

$(document).on('click',
    '.click_anti_spam_level',
    function () {
        var row = table.bootstrapTable('getData')[
            $(this).data('rowIndex')];
        var id = row.id;
        var accountname = row.accountname;
        var anti_spam_level = row.anti_spam_level;
        // 状态选项
        var options = {
            1: '无',
            2: '半量',
            3: '全量'
        };
        // 构建 select 的 HTML
        var html = '<div style="padding: 20px;">';
        var options = {
            1: '无',
            2: '半量',
            3: '全量'
        };
        $.each(options,
            function (val,
                text) {
                var checked = (val == anti_spam_level) ? 'checked' : '';
                html += '<label class="radio-inline" style="margin-right: 20px;">';
                html += '<input type="radio" name="anti_spam_level_radio" value="' + val + '" ' + checked +
                    '> ' + text;
                html += '</label>';
            });
        html += '</div>';
        layer.open({
            type: 1,
            title: '修改账户 ' + accountname + ' 的防灌水级别',
            content: html,
            btn: [
      '确认',
      '取消'],
            yes: function (index,
                layero) {
                var newValue = layero.find('input[name="anti_spam_level_radio"]:checked').val();
                if (!newValue) {
                    layer.msg('请选择状态', {
                        icon: 5
                    });
                    return;
                }
                if (newValue == anti_spam_level) {
                    layer.msg('状态未改变', {
                        icon: 0,
                        time: 1500
                    });
                    return;
                }
                // 同样的 ajax
                Fast.api.ajax({
                        url: 'client/client/switch_anti_spam_level',
                        data: {
                            ids: id,
                            value: newValue,
                            key: 'anti_spam_level'
                        }
                    },
                    function (data,
                        ret) {
                        layer.msg(ret.msg, {
                            icon: 6,
                            time: 2000
                        });
                        layer.close(index);
                        table.bootstrapTable('refresh', {});
                    },
                    function (data,
                        ret) {
                        layer.msg(ret.msg, {
                            icon: 5,
                            time: 2000
                        });
                    });
            }
        });
    });

2. 下拉选择弹窗确认修改

2.1 对应js文件

2.1.1 表格字段

{
    field: 'anti_spam_level',
    title: __('Anti_spam_level'),
    table: table,
    formatter: function (value,
        row,
        index) {
        // 当前值
        var current = parseInt(row.anti_spam_level);
        // 选项
        var options = {
            1: '无',
            2: '半量',
            3: '全量'
        };
        // 根据当前值给 select 加不同颜色
        var colorClass = '';
        if (current == 1) {
            colorClass = 'anti-spam-select-info';
        } else if (current == 2) {
            colorClass = 'anti-spam-select-warning';
        } else if (current == 3) {
            colorClass = 'anti-spam-select-danger';
        }
        var html = '<select class="form-control anti-spam-select ' + colorClass + '" ' +
            'data-id="' + row.id + '" ' +
            'data-accountname="' + (row.accountname || '') + '" ' +
            'data-old="' + current + '" ' +
            'style="width: 65px; display: inline-block;">';
        $.each(options,
            function (val,
                text) {
                var selected = (val == current) ? 'selected' : '';
                html += '<option value="' + val + '" ' + selected + '>' + text + '</option>';
            });
        html += '</select>';
        return html;
    }
},

2.1.2 绑定对应事件

// 为表格绑定事件
Table.api.bindevent(table);

$(document).on('change', '.anti-spam-select', function () {
    var $this = $(this);
    var id = $this.data('id');
    var accountname = $this.data('accountname');
    var oldValue = $this.data('old');
    var newValue = $this.val();
    // 值没变直接返回
    if (newValue == oldValue) {
        return;
    }
    var textMap = {
        1: '无',
        2: '半量',
        3: '全量'
    };
    layer.confirm(
        '确认将防灌水级别切换为【' + textMap[
            newValue] + '】吗?', {
            title: '账户: ' + accountname,
            btn: [
        '确认',
        '取消']
        },
        function (index) {
            Fast.api.ajax({
                    url: 'client/client/switch_anti_spam_level',
                    data: {
                        ids: id,
                        value: newValue,
                        key: 'anti_spam_level'
                    }
                },
                function (data,
                    ret) {
                    layer.msg(ret.msg, {
                        icon: 6,
                        time: 1500
                    });
                    layer.close(index);
                    // 更新颜色和 old 值
                    $this.data('old',
                        newValue);
                    $this.removeClass(
                        'anti-spam-select-info anti-spam-select-warning anti-spam-select-danger');
                    if (newValue == 1) {
                        $this.addClass('anti-spam-select-info');
                    } else if (newValue == 2) {
                        $this.addClass('anti-spam-select-warning');
                    } else if (newValue == 3) {
                        $this.addClass('anti-spam-select-danger');
                    }
                    // 同步更新 row 数据,避免下次刷新前数据不一致
                    var rowIndex = $this.closest('tr').data('index');
                    // 或者用 table.bootstrapTable('refresh') 重新拉取
                },
                function (data,
                    ret) {
                    // 失败时把 select 回滚到原来的值
                    $this.val(oldValue);
                    layer.msg(ret.msg, {
                        icon: 5,
                        time: 2000
                    });
                });
        },
        function (index) {
            // 取消时回滚
            $this.val(oldValue);
            layer.close(index);
        }
    );
});

2.2 index.html添加简单样式

<style>
    .anti - spam - select {
        -webkit - appearance: none; -
        moz - appearance: none;
        appearance: none;
        padding: 3 px 22 px 3 px 10 px!important;
        height: 26 px!important;
        /*line-height: 1.2;*/
        border - radius: 5 px!important;
        cursor: pointer;
        outline: none;
        transition: border - color 0.15 s ease, background - color 0.15 s ease;
        background - repeat: no - repeat;
        background - position: right 8 px center;
        background - size: 9 px 5 px;
        background - image: url(
            "data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%23999999' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E"
        );
    }

    .anti - spam - select: hover {
        border - color: #b3b3b3!important;
    }

    .anti - spam - select: focus {
        border - color:
            #999 !important;
        box-shadow: 0 0 0 2px rgba(0,0,0,0.04);
    }

    .anti-spam-select-info {
        background-color: # f5f6f7;
        border: 1 px solid# dcdfe3!important;
        color: #606266;
    }

    .anti-spam-select-warning {
        background-color: # fdf6ec;
        border: 1 px solid# f0d9a8!important;
        color: #b8860b;
    }
    .anti - spam - select - warning {
        background - image: url(
            "data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%23b8860b' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E"
        );
    }

    .anti - spam - select - danger {
        background - color: #fef0f0;
        border: 1 px solid# f3c1c1!important;
        color: #c45656;
    }
    .anti - spam - select - danger {
        background - image: url(
            "data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%23c45656' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E"
        );
    }

    .anti - spam - select option {
        color: #333;
        background-color: # fff;
    }
</style>

3. 对应控制器添加 switch_anti_spam_level 方法

/**
 * 切换状态
 * @param null $ids // 主键id
 * @param $value // 值
 * @param $key // 字段名
 * @return mixed
 */
public function switch_anti_spam_level($ids = null, $value, $key) {
    $result = $this->model->save([$key => $value], ['id' => $ids]);

    if ($result) {
        $this >success('修改成功');
    }

    $thi ->error('修改失败');
}

4. 效果图

LVDS系列23:Xilinx Ultrascale系ISERDESE3原语(一) 当FIFO_RD_CLK与CLKDIV对齐时,也就是Latency With Late FIFO Empty情况时,延迟比前一种情况长一个FIFO_RD_CLK时钟周期,也就是在FIFO_RD_CLK上升沿后一点,CLKDIV才成功驱动完FIFO_EMPTY的变化,于是读侧要得到FIFO_EMPTY为0的情况则要等到下一个FIFO_RD_CLK的上升沿采集时;IS_CLK_INVERTED、IS_CLK_B_INVERTED设置CLK和CLK_B是否反转,一般情况下设置0; 阅读详情

相关推荐

Unity嵌套ScrollView滑动冲突解决方案:ExecuteEvents.Execute事件透传

在Unity UGUI中,竖向与横向ScrollView嵌套时出现滑动失效,本质是EventSystem事件分发机制的拦截限制。其原理在于PointerDown被外层捕获后,后续PointerMove默认不向下透传;ExecuteEvents.Execute提供了一条绕过常规冒泡流程的官方事件旁路,支持低延迟、方向自适应的精准透传。该技术具备高兼容性与零侵入特性,广泛应用于电商商品页、内容流卡片组、多级导航等需‘列表中嵌套轮播/标签’的真实场景,是解决UGUI嵌套滚动问题的核心工程实践方案。

weixin_33164198的博客 630

fastadmin自定义表格搜索功能

fastadmin自定义表格搜索功能

T_Hong的博客 3245

半监督的医学分割数据集(LA, Pancreas, ACDC和PROMISE12)分享

这篇文章提供了四个常用的半监督医学分割数据集,所有数据集都已经被处理成了.h5文件。下载之后就可以直接使用

qq_45691955的博客 4174

fastAdmin表格列表的功能

fastmin后台使用介绍;发送ajax请求

glovenone的专栏 5605

SAP 配额修改 + 修改记录写入实现

采购配额修改并写入修改记录 cdhdr 和 cdpos

GAVIN 1095

Cursor3.0新界面使用说明

本文摘要:Cursor 3.x版本更新后,提供了两套主界面:Editor(类似VSCode的代码编辑器)和AgentsWindow(以AI智能体为中心的新界面)。Editor适合日常编码,AgentsWindow则支持并行运行多个AI任务、云端协作和多仓库管理。通过Ctrl+E可快速切换布局。文章详细介绍了AI聊天面板的操作技巧、四种工作模式(Agent/Plan/Ask/Debug)的区别,以及AgentsWindow的多任务管理功能。同时提供了Windows快捷键速查、中文化设置方法,并对比了新旧版本的

2501_90421497的博客 725

fastadmin表格

虚无缥缈的云 博客园 首页 新随笔 联系 管理 订阅 随笔- 245 文章- 0 评论- 5 一张图解析FastAdmin中的表格列表的功能 大图: 1、默认生成的CRUD是没有菜单名称和描述显示的,如果需要显示则可以在后台修改,权限管理->菜单规则,给对应菜单的添加上备注信息后即可显示,支持HTML 2、TAB过滤选项卡 在一键生成CRUD时,如果表中存在status字段且为ENUM类型,则会生成相应的TAB过滤选项卡,如果需要生成其它字段的过滤...

猿分已尽的博客 3945

Windows本地部署Qwen3-14B实战指南:Ollama+Open WebUI零Docker方案

大语言模型本地部署是AI工程化落地的关键环节,其核心在于推理框架兼容性、硬件加速适配性与端到端稳定性。Ollama作为轻量级模型运行时,原生支持Windows DirectML与CUDA,规避了Docker/WSL2虚拟化开销和llama.cpp编译风险;Qwen3-14B则凭借128K上下文、Tool Calling原生支持及中文长文本结构化能力,成为政务、金融等场景首选。本文聚焦Windows平台真实约束——显存阈值、驱动版本匹配、路径编码兼容、离线知识库集成(RAG)等工程细节,提供经63台Windo

weixin_32136203的博客 412

fastadmin特殊字段

之后在官方文档中查东西的时候,无意间看到了这么一句说明:“默认的category_id字段,会将表名做为筛选条件,如对fa_test表做CRUD,则类型为test,如对fa_test_copy做CRUD,则类型为test_copy,务必前往常规管理->系统配置->字典配置->分类类型中添加上对应的类型,然后再到分类管理录入数据后才会生效,否则在Selectpage下拉时会为空。”,这句描述应该算是比较详细的描述了,官方论坛问答中的回答都没有这个详细,看了这个就基本懂了。

wxp506的专栏 1790

Trae的付费之路还挺艰难,茫茫多的人想付付不了(附解决办法)

不得不说,Trae国际版这个付费其实整的挺复杂的,但没办法,毕竟有政策限制,付费成功后,你就是尊贵的Pro用户啦,使用Claude 4不排队还是挺爽的,而且600次其实不算少了,有一个小技巧,简单的问题就把模型切到Gemini-2.5-flag,因为使用这个模型是没有次数限制的。其次付费的时候有个ZIP Code,这东西也是个迷之存在,有的地区节点需要填,有的不需要,如果你选到了不需要填的节点,那很好,付费就行了,如果需要填,可以填一个51800试试。

cpp加油站的专栏 5879

Nexys4DDR+OV7670实现图像灰度显示系统嵌入式

通过对硬件平台的准备、Vivado工程配置、OV7670驱动程序的编写、图像灰度处理算法的设计以及系统集成与测试,我们成功实现了一个基于嵌入式系统的图像处理应用。当系统运行时,OV7670摄像头模块将采集到的图像传输到FPGA芯片中,然后通过图像灰度处理算法将彩色图像转换为黑白图像,并在显示设备上进行显示。OV7670摄像头模块的驱动程序是实现图像采集的核心。以上代码中,我们使用了Xilinx提供的XGpio和Xil_In32函数来进行OV7670摄像头数据的读取和GPIO的初始化。OV7670驱动程序。

WangWEel的博客 337

【FastAdmin专题二】使用双表格联动实现字典管理之自定义行字段样式,添加点击事件

人生有涯,学海无涯,学无止境,精益求精。---------- Banana.Banuit Gang(香柚帮) 【FastAdmin专题一】使用双表格联动实现字典管理之修改表格原始样式 本小节主要讲一下自定义行字段显示样式,修改原始button样式,添加点击事件。 category_table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'd

@Banana的博客 1991

Unreal 从入门到进阶 之 如何实现Pixel Streaming

Unreal Engine 5 (UE5) 的 Pixel Streaming 是一项基于云端的实时流媒体技术,允许将 UE5 应用的高质量图形渲染结果通过 WebRTC 协议传输到用户的浏览器或轻量级设备,同时将用户输入(如鼠标、键盘、触控)回传到服务器处理。UE的插件相对比较好用,但是就是环境下载总是失败。希望这篇文章对你有所帮助。

TxNet 1369

关于Fastadmin后台表格内容的修改

1、想修改fastadmin表格的内容, 在public\assets\js\backend里面有对应表格的内容 下面是表格里需要修改的内容 注意:field是数据库字段,title是fastadmin表格显示的字段

豪先生的博客 2672

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【FastAdmin专题一】使用双表格联动实现字典管理之修改表格原始样式

多读多写多记录,多学多练多思考。---------- Banana.Banuit Gang(香柚帮) 字典管理首页截图如下: 左边的一排按钮可以直接在html页面隐藏 index.html <style> .car-dict { padding: 5px; } .panel-heading { padding:10px !important; } </style> <div class="row"&.

@Banana的博客 2081

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【fastadmin】根据字段值设置操作按钮状态

在FastAdmin这一快速开发框架中,我们经常需要根据数据表中某个字段的值来动态控制页面上操作按钮的显示与隐藏,甚至改变按钮的状态(如启用/禁用)。这里定义了按钮的一些属性,其中可以是值,也可以是一个 function,我们需要什么属性就可以再buttons中配置什么属性就可以了。除了控制按钮禁用状态之外,buttons中还可以配置其他的属性,具体我们可以查看框架源码。数组,用于定义操作列中的按钮。表格操作列的渲染方法调用的是。

metlin的博客 1688

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

初识fastAdmin表格列表的功能

FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。优点见开发文档https://doc.fastadmin.net/docs 在这里上传几张优秀的快速入门图: 一张图解析FastAdmin中的表格列表的功能: 功能描述 请根据图片上的数字索引查看对应功能说明。 1.菜单名称和描述 默认生成的CRUD是没有菜单名称和描述显示的,如果需要显示则可以修改权限管理->菜单规则,给对应菜单的添加上备注信息后即可显示,支持HTML 2.TAB过滤选项卡 在一..

守护大白菜的博客 4808

fastadmin 状态如何修改 status字段修改方法

应用场景:在创建数据库的时候使用了status字段,但是在生成控制器的时候并没有将全部的状态情况考虑进去,这时候需要在对应的model手动修改代码。在对应的model内修改getStatusList()函数,将数据库内status的所有情况都写在数组内。打开对应的js可以看到status字段对应的代码,如图修改即可实现表格内状态的修改了!路径是/public/assets/js/backend/对应的控制器名字.js。前端的显示是由js生成的,所以需要修改js代码。

qq_27661837的博客 1173

③-2FastAdmin表格搜索项精简指南

本文详细介绍如何在FastAdmin框架中精简通用搜索功能。通过修改public\assets\js\backend目录下的对应JS文件(如test.js),将表格列配置中operate参数设为false即可隐藏相应字段的搜索项。文中提供了具体示例代码对比,展示了修改前后效果,并特别强调operate:false的写法不需要引号。这种方法可以有效减少后台管理界面中过多的搜索选项,提升用户体验。文章还指出需要JS配置、HTML视图和服务端控制器的三方协同操作,为FastAdmin开发者提供了实用的功能优化方案

wjx870901的博客 1132

一张图解析FastAdmin中的表格列表的功能

功能描述 请根据图片上的数字索引查看对应功能说明。 1.菜单名称和描述 默认生成的CRUD是没有菜单名称和描述显示的,如果需要显示则可以修改权限管理->菜单规则,给对应菜单的添加上备注信息后即可显示,支持HTML 2.TAB过滤选项卡 在一键生成CRUD时,如果表中存在status字段且为ENUM类型,则会生成相应的TAB过滤选项卡,如果需要生成其它字段的过滤选项卡则可以在使用php th...

qq_42538872的博客 2162

【备忘】一张图解析FastAdmin中的表格列表的功能

怎么有些文章有时候访问不了???? 一张图解析FastAdmin中的表格列表的功能 大图: 1、默认生成的CRUD是没有菜单名称和描述显示的,如果需要显示则可以在后台修改,权限管理->菜单规则,给对应菜单的添加上备注信息后即可显示,支持HTML 2、TAB过滤选项卡 在一键生成CRUD时,如果表中存在status字段且为ENUM类型,则会生成相应的TAB过滤选项卡,如果需要生成其它字段的过滤选项卡则可以在使用php think crud时使用--headingfilterfi.

qq_15941409的博客 2369

fastadmin的二次开发教程【简单搭建、多表格问题,API开发】

fastadmin的二次开发教程【简单搭建、多表格问题,API开发】

黄啊码 1万+

fastadmin 表格使用多个字段数据展示

找到对应js文件,修改下columns的配置。

weixin_42629862的博客 1386

fastadmin linux权限,关于fastadmin字段角色查看权限问题

关于fastadmin角色字段权限的问题:有哪位大神指导,我应该如何实现,我把代码贴上,最好给我一段完整代码,非常感谢了:HGmINq8uMwY/+mFpLqUvEg==这是PHP文件HPPxha6b3XRKpu7pCqkBUg==...

weixin_29527111的博客 953

fastadmin:在index页面生成开关按钮,以及开关默认值修改

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。干了大半年开发了,算是学了一个框架。剩下的都是逻辑,js其实很多很有用,但是还是用vue比较好。文章对新手小白有点用吧,后面我会多多分享的。

术不贱卖、道不轻传 1767
上一篇: HTML页面消息蜂鸣提示音调试台
withoutfear
博客等级 码龄13年 541粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

withoutfear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值