今天在開發(fā)公司一個功能時,公司開發(fā)環(huán)境用的是laravel-admin,因為需要用上select聯(lián)動,所以根據(jù)文檔說明進行開發(fā),并成功的使用上了,代碼我就不重復,大家可以去參考laravel-admin官網的說明。
首先我們找到select的js,路徑:跟目錄/vendor/encore/laravel-admin/src/Form/Field下的Select.php文件,找到下面代碼:
$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;
并修改成以下代碼:
$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;
我們在原有代碼中加入這句:
$('{$this->getElementClassSelector()}').trigger('change');
作用就是在初始化的時候觸發(fā)一次聯(lián)動。
然后在我們的表單中,我們再來定義編輯初始時候的值,代碼如下:
$form->select('hezuo', "合作模式")->options(function () {
$record = request()->route()->parameters();
$record = $record["chanpin"];
$data = ChanpinModel::where('id', $record)->first();
$hezuoList = array(
"1" => '測試1',
"2" => '測試2',
"3" => '測試3',
);
$hezuo = $data->hezuo;
return [$hezuo => $hezuoList[$hezuo]];
});
這段代碼是根據(jù)當前記錄的值,去獲取對應所屬那個選項,這樣便使select聯(lián)動編輯時,能夠默認選上我們的值。
以上這篇laravel-admin解決表單select聯(lián)動時,編輯默認沒選上的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 關于laravel后臺模板laravel-admin select框的使用詳解
- laravel-admin select框默認選中的方法
- 在Laravel中使用DataTables插件的方法
- PHP框架Laravel插件Pagination實現(xiàn)自定義分頁
- 推薦幾款用 Sublime Text 開發(fā) Laravel 所用到的插件
- Laravel框架表單驗證詳解
- Laravel中使用FormRequest進行表單驗證方法及問題匯總
- Laravel 5框架學習之表單
- Laravel實現(xiàn)表單提交
- Laravel 5框架學習之表單驗證
- Laravel 5框架學習之子視圖和表單復用
- laravel框架select2多選插件初始化默認選中項操作示例