laravel-admin 使用 form 表单的 json 组件时,如何自动计算每行某个字段的值

当前页面:
单价和数量是输入框,费用小计是只做显示

laravel-admin 使用 form 表单的 json 组件时,如何自动计算每行某个字段的值

现在代码:

laravel-admin 使用 form 表单的 json 组件时,如何自动计算每行某个字段的值

希望实现效果:
在用户改变单价或者数量的值时(空白则默认值为0),及时计算 单价 * 数量 在对应行 费用小计 列显示

有做过这类功能的大佬说下怎么实现吗?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

自己写js嵌入

file 嵌入js方法

Admin::script("...");

:+1:

2年前 评论
lyfireworks07 (楼主) 2年前
nanana 2年前
讨论数量: 7

自己写js嵌入

file 嵌入js方法

Admin::script("...");

:+1:

2年前 评论
lyfireworks07 (楼主) 2年前
nanana 2年前

JS加持

2年前 评论
nanana 2年前
nanana 2年前
Admin::script(
                        <<<JS
                        Dcat.ready(function () {
                            // his 是当前元素的jquery dom对象
                            // id 是当前元素的id属性,如果当前元素没有id则会自动生成一个随机id
                            Dcat.init("input", function (thiss, id) {
                                // 修改元素的背景色

                                // 这里不需要 off 再重新 on,因为这个匿名函数只会执行一次
                                thiss.on('click', function () {


                                    var name = thiss.attr('name');//获取本行input的名称
                                console.log(thiss.attr('name'))//获取当前表单的名称
                                    var sign = name.indexOf("[");//检索第一个[符号
                                    var sign2 = name.indexOf("]");//检索第一个]符号
                                    var finalName = name.slice(sign+1,sign2);//取出[]中的字符
                                console.log(name.slice(sign+1,sign2));

                                    var PaperCutAmount = Number($('input[name="factoryOrder['+finalName+'][paper_cut_amout]"]').val());
                                    var PaperExtraAmount = Number($('input[name="factoryOrder['+finalName+'][paper_extra_amout]"]').val());
                                    var PaperKai = Number($('input[name="factoryOrder['+finalName+'][paper_kai]"]').val());
                                    var PaperLarge = (PaperCutAmount+PaperExtraAmount)/PaperKai;

                                    $('input[name="factoryOrder['+finalName+'][paper_ream]"]').val(PaperLarge/500);
                                    $('input[name="factoryOrder['+finalName+'][paper_large]"]').val(PaperLarge);


                                    console.log($('input[name="factoryOrder['+finalName+'][paper_large]"]').val());

                                thiss.css({background: "red"});
                                });
                            });
                        });
                        JS
                    );

目前我的方案

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!