PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > Fastadmin

扩展SelectPage组件,增加了联动属性,实现任意级联动,调用简单方便,无需写前端代码

管理员 2024-12-14
Fastadmin
7

二级联动,或三级联动,在开发中是经常需要用到的,selectpage组件没有联动属性,但通过写在相应的页面中写js可以实现,但由于联动运用较多,每个页面写则太不好写,通过修改selectpage.js源码,扩展了联动属性,现在调用起来就非常方便了,只需要加上相应的属性,就完成了联动,如在表单中 <input id="c-zone_id" data-first-title="请选择" data-rule="required" data-source="xjz/zone/index"** data-linkage='#c-school_id' data-linkage-field='zone_id'** data-order-by='weigh' class="form-control selectpage" name="row[zone_id]" type="text" value="{$row.zone_id|htmlentities}">,同样在搜索中也可以用 {field: 'zone_id', title: __('Zone_id'), addClass: "selectpage", extend: "data-linkage='#school_id' data-linkage-field='zone_id' data-source='xjz/zone/index' data-primary-key='id' data-order-by='weigh' data-field='name'"},再在服务器写上相应的代码,就实现了。

扩展代码如下:

SelectPage.prototype.linkage = function (option) {    var t=this.option.linkage;    if(!t)return;    t=$(t);    var input=this.elem.hidden;    var field=this.option.linkageField;    input.on('change',function () {t.selectPageClear();});    t.data("params", function(){ var v=input.val(),r={custom:{}};r.custom[field]=v;  return r; });}

后台代码:在被联动 index方法中 加入查询语句

$param = $this->request->param();if(isset($param['custom'])){$where['zone_id']=$param["custom"]["zone_id"]; }list($where, $sort, $order, $offset, $limit) = $this->buildparams();$list = $this->model->with(['zone'])->where($where)->order($sort, $order)->paginate($limit);

需要完整的js代码,请发邮件到:329654307@qq.com


希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部