EasyUI在Panel上动态添加LinkButton按钮

发布时间 - 2026-01-11 02:45:25    点击率:

在最近做的一个将原来的旧系统翻新改造的项目中,为了在个别展示位置与原系统一直,研究了一下Easyui的panel面板,在panel的面板中动态添加Linkbuton按钮的编辑方法,在这里做个记录免得自己以后忘了,也为有需求的人指明一条道,代码比较乱,还请大家多多见谅,能实现就行啦,要求不高哟。

言归正传,需求如下图。

看似简单,往panel的title中循环添加linkbutton标签不就得了,其实还有很多问题需要处理,简单描述一下我的思路和步骤。

1、panel的title属性接收类型为字符串类型,所以我想到了在后台获取数据后拼接成字符串然后为title赋值,

2、当我通过异步的方式获取到数据后想讲获取到的值取出来然后在另外的在后续的方法中使用时,发现获取不到数据;问题节点,异步;变更为同步获取数,问题解决;

3、将获取到的数据动态添加到panel的title中后,检查发现数据已经添加上去了,但是没有效果;问题点:渲染问题,解决方法,panel中只是定义<a>标签,不附加easyui效果,

单独添加easyui效果。ok,此时问题解决了。

好了看似简单其中包含了我在实现前大量的调试与检查操作,还请能够看到的高人可以的话,多给小弟写指点,不多说,Show Code Time

//页面加载时onload事件
$(function () {
 //开发方式为Asp.net MVC 利用访问页面获取访问控制器名称
 var controllerName = "@ViewContext.RouteData.Values["controller"].ToString().ToLower()";
 LoadDataAndColumnsName(controllerName);
 LoadButtonInfo(controllerName); 
 
 }) 

 var toolbar = []; 
 //获取标题数据
 function LoadDataAndColumnsName(cname) {
 $.ajax({
 type: "post",
 url: '/' + cname.toString() + '/GetCommand',
 contentType: "application/json;charset=utf-8",
 dataType: "json",
 async: false,
 success: function (data) {
  Callback(data);
 }, error: function (data) {
  alert("error");
 }
 })
 }
 //将回调函数中的数据放到Panel的title中
 function Callback(json) {
 var data = json;
 toolbar = data.toolbar;
 var buttons = "<span class='splitcss'>|</span><span class='desc'>Sim卡设置</span><span class='splitcss'>|</span>";
 $.each(data.toolbar, function (i, item) {
 buttons += "<a class='panel_" + item.btnName + "' id='" + item.btnName + "' style='margin-top:-5px;' onclick='OperAction(" + item.btnName + ");'></a>";
 })
 //加载Panel
 $("#contentDiv").panel({
 title: buttons,
 height: $(window).height()
 })
 }
 //在Panel的title属性中渲染linkbutton按钮
 function LoadButtonInfo(cname) {
 $.each(toolbar, function (i, item) {
          //这样加载按钮的方案来自网络,找不到连接了,在此注明感谢下
 $("#contentDiv").panel('header').find('a.panel_' + item.btnName + '').linkbutton({
  iconCls: 'icon-' + item.btnIcon + '',
  text: item.btnCaption,
  plain: 'true'
 })
 $('#' + item.btnName + '').bind('click', function () {
  OperAction(item.btnName, cname);
 })
 })
 }

好了,这样应该就可以显示了,我这里是可以了,结实下OperAction函数是处理linkbutton点击时触发的函数去完成相应操作的。就到这里了,不喜勿喷,求高人简化指点。


# easyui  # 动态添加按钮  # linkbutton按钮  # jQuery EasyUI菜单与按钮详解  # EasyUI的DataGrid每行数据添加操作按钮的实现代码  # Easyui Datagrid自定义按钮列(最后面的操作列)  # jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍  # easyui datagrid 表格中操作栏 按钮图标不显示的解决方法  # 轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮  # Easyui使用Dialog行内按钮布局的实例  # 给easyui的datebox控件添加清空按钮的实现方法  # Jquery Easyui分割按钮组件SplitButton使用详解(17)  # jEasyUI 创建分割按钮的实现示例  # 好了  # 加载  # 还请  # 的人  # 我想  # 在这里  # 我在  # 在此  # 找不到  # 当我  # 就行  # 言归正传  # 不就  # 不高  # 做个  # 多说  # 就到  # 还有很多  # 解决方法  # 接了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何快速完成中国万网建站详细流程?  Python高阶函数应用_函数作为参数说明【指导】  Laravel中的withCount方法怎么高效统计关联模型数量  三星网站视频制作教程下载,三星w23网页如何全屏?  ,网页ppt怎么弄成自己的ppt?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  智能起名网站制作软件有哪些,制作logo的软件?  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  如何快速生成高效建站系统源代码?  北京专业网站制作设计师招聘,北京白云观官方网站?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  如何生成腾讯云建站专用兑换码?  Laravel如何使用Telescope进行调试?(安装和使用教程)  php 三元运算符实例详细介绍  如何在局域网内绑定自建网站域名?  网站页面设计需要考虑到这些问题  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Android实现代码画虚线边框背景效果  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  如何在阿里云高效完成企业建站全流程?  如何在云主机上快速搭建网站?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  Laravel如何生成URL和重定向?(路由助手函数)  JS实现鼠标移上去显示图片或微信二维码  如何为不同团队 ID 动态生成多个“认领值班”按钮  桂林网站制作公司有哪些,桂林马拉松怎么报名?  原生JS获取元素集合的子元素宽度实例  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Linux网络带宽限制_tc配置实践解析【教程】  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何在Ubuntu系统下快速搭建WordPress个人网站?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何自定义建站之星网站的导航菜单样式?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  iOS正则表达式验证手机号、邮箱、身份证号等  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  简历在线制作网站免费版,如何创建个人简历?  个人摄影网站制作流程,摄影爱好者都去什么网站?  Android okhttputils现在进度显示实例代码  详解jQuery中的事件  高端建站三要素:定制模板、企业官网与响应式设计优化  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Laravel集合Collection怎么用_Laravel集合常用函数详解  Laravel如何处理CORS跨域请求?(配置示例)  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤