Laravel背包字段-select_from_array功能



我使用的是laravel背包。创建了一个新的请求表单。使用"select_from_array"创建了几个字段供选择:

$this->crud->field('range')->type('select_from_array)->label(__('number range'))
->options(Group::NUMBER_RANGE);
$this->crud->field('range1')->type('select_from_array)->label(__('letter range'))
->options(Group::LETTER_RANGE);
$this->crud->field('range2')->type('select_from_array)->label(__('symbol range'))
->options(Group::SYMBOL_RANGE);

例如,每个字段都有3个下拉值可供选择(为了更清楚,假设数字范围为1/2/3,字母范围为A/B/C,符号范围为太阳/月亮/风(。

我想应用这个功能——如果我从数字范围中选择1,我希望字母范围只显示A和B(C应该从值选择中消失(,符号范围只显示Wind。或者,如果我选择字段字母范围并选择选项值B,我希望符号范围字段只显示太阳。

一般来说,我希望字段之间的反应取决于我在上一个字段上所做的选择,下一个字段将显示我可以选择的不同选项。

我该怎么做?

提前感谢:(

背包目前并不容易做到这一点,但也不会让它变得困难。

选项A-javascript

您可以使用脚本小部件在页面上推送一些javascript,它可以做任何您想做的事情,包括这个功能。


Widget::add()->type('script')->content('assets/js/admin/request_form.js'); 

有一个活动的pull请求试图让它更容易与前端的字段交互(PR#4312(,但在合并之前,你可以使用vanillaJS或jQuery来做任何你想做的事情。

选项B-select2_from_ajx

或者,您可以使用select2_from_jax字段类型,这确实允许您使用"dependent"属性来执行此操作。由于您可以控制AJAX端点,因此可以根据其他表单选择返回不同的结果。

但是:

  • 我认为让这3个选择使AJAX请求过于夸张,因为一点JS可以对常规选择做同样的事情
  • 这是一个PRO字段,因此只有当您购买了PRO插件时才可用

相关内容

  • 没有找到相关文章

最新更新