ajax手册看云,下拉菜单Ajax(1.3.3+)

## addSelectAjax('name值', '标题', '提示', '参数' [, '默认值', '额外属性', '额外css类'])

标识符:`selectAjax`

>[danger] **注意:该功能仅1.3.3版本以上,并且授权版用户才有,普通版没有该功能**。如果您是授权版用户,请登录官网后,在补丁下载页面下载相应补丁。

| 参数 | 含义 | 类型 |

| --- | --- | --- |

| name | name值 | string |

| title | 标题 | string |

| tips | 提示 | string |

| params| 参数 | array |

| default | 默认值 | string |

| extra_attr | 额外属性 | string |

| extra_class | 额外css类 | string |

有时候,下拉菜单数据过多,比如上百上千条的时候,点击下拉菜单将会比较卡,那么可以用ajax的方式获取下拉菜单数据。

### 用法:

~~~

return ZBuilder::make('form')

->addSelectAjax('role', '角色', '非超级管理员,禁止创建与当前角色同级的用户', [

'table' => 'admin_user'

])

->fetch();

~~~

其中,`table`参数是必须的,需要指定一张表来读取数据,如果你的表中,主键字段是`id`,标题字段是`name`,那么只需要设置`table`参数即可,否则,需要重新定义,比如表中的主键字段是`user_id`,标题字段是`title`。

~~~

return ZBuilder::make('form')

->addSelectAjax('role', '角色', '非超级管理员,禁止创建与当前角色同级的用户', [

'table' => 'admin_user',

'id' => 'user_id',

'name' => 'title'

])

->fetch();

~~~

默认情况下,table参数的表名无需添加表前缀,如果您需要指定其他表前缀的表,那么需要设置prefix参数为true,并且table参数填写完整的表名。

~~~

return ZBuilder::make('form')

->addSelectAjax('role', '角色', '非超级管理员,禁止创建与当前角色同级的用户', [

'table' => 'tr_admin_user',

'prefix' => true

])

->fetch();

~~~

默认每次请求是15条数据,如果需要修改每次请求的数量,可以设置list_rows参数。

~~~

return ZBuilder::make('form')

->addSelectAjax('role', '角色', '非超级管理员,禁止创建与当前角色同级的用户', [

'table' => 'tr_admin_user',

'list_row' => 8 // 每次请求8条数据

])

->fetch();

~~~

默认情况下,搜索的关键词是模糊匹配主键字段和标题字段,如果有需要,也可以设置要模糊匹配的字段,比如只匹配标题字段。

~~~

return ZBuilder::make('form')

->addSelectAjax('role', '角色', '非超级管理员,禁止创建与当前角色同级的用户', [

'table' => 'tr_admin_user',

'search' => 'name' // 仅模糊匹配name字段

])

->fetch();

~~~

也可以匹配多个字段

~~~

return ZBuilder::make('form')

->addSelectAjax('role', '角色', '非超级管理员,禁止创建与当前角色同级的用户', [

'table' => 'tr_admin_user',

'search' => 'username|nickname' // 仅模糊匹配username字段或nickname字段

])

->fetch();

~~~

当然,也可以用并且的关系来匹配

~~~

return ZBuilder::make('form')

->addSelectAjax('role', '角色', '非超级管理员,禁止创建与当前角色同级的用户', [

'table' => 'tr_admin_user',

'search' => 'username&nickname' // 当username字段并且nickname字段都模糊匹配到关键词的数据才显示

])

->fetch();

~~~

添加额外的搜索条件

~~~

return ZBuilder::make('form')

->addSelectAjax(role', '角色', '非超级管理员,禁止创建与当前角色同级的用户', [

'table' => 'tr_admin_user',

'where' => ['status' => 1] // 除了模糊匹配关键词外,还必须符合status等于1的数据

])

->fetch();

~~~

如果默认的匹配方式不符合要求,可以自定义匹配方法

~~~

return ZBuilder::make('form')

->addSelectAjax('role', '角色', '非超级管理员,禁止创建与当前角色同级的用户', url('admin/ajax/aa'))

->fetch();

~~~

当输入关键词时,将会请求url('admin/ajax/aa')获取返回数据,这里的方法需要自己编写,具体可参考`application\admin\controller\Ajax.php` 中的 `getSelectAjax`方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值