本文主要是介绍laravel-admin的select联动首次加载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天在开发公司一个功能时,公司开发环境用的是laravel-admin,因为需要用上select联动,所以根据文档说明进行开发,并成功的使用上了,代码我就不重复,大家可以去参考laravel-admin官网的说明。
首先我们找到select的js,路径:跟目录/vendor/encore/laravel-admin/src/Form/Field下的Select.php文件,找到下面代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $script = <<<EOT $(document).on( 'change' , "{$this->getElementClassSelector()}" , function () { var target = $(this).closest( '.fields-group' ).find( ".$class" ); $.get( "$sourceUrl?q=" + this.value, function (data) { target.find( "option" ).remove(); $(target).select2({ data: $. map (data, function (d) { d. id = d.$idField; d.text = d.$textField; return d; }) }).trigger( 'change' ); }); }); EOT; |
并修改成以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $script = <<<EOT $(document).on( 'change' , "{$this->getElementClassSelector()}" , function () { var target = $(this).closest( '.fields-group' ).find( ".$class" ); $.get( "$sourceUrl?q=" + this.value, function (data) { target.find( "option" ).remove(); $(target).select2({ data: $. map (data, function (d) { d. id = d.$idField; d.text = d.$textField; return d; }) }).trigger( 'change' ); }); }); $( '{$this->getElementClassSelector()}' ).trigger( 'change' ); EOT; |
我们在原有代码中加入这句:
1 | $( '{$this->getElementClassSelector()}' ).trigger( 'change' ); |
作用就是在初始化的时候触发一次联动。
这篇关于laravel-admin的select联动首次加载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!