您好,登錄后才能下訂單哦!
小編給大家分享一下laravel-admin如何解決表單select聯(lián)動(dòng)時(shí)編輯默認(rèn)沒(méi)選上的問(wèn)題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在開(kāi)發(fā)公司一個(gè)功能時(shí),公司開(kāi)發(fā)環(huán)境用的是laravel-admin,因?yàn)樾枰蒙蟬elect聯(lián)動(dòng),所以根據(jù)文檔說(shuō)明進(jìn)行開(kāi)發(fā),并成功的使用上了,代碼我就不重復(fù),大家可以去參考laravel-admin官網(wǎng)的說(shuō)明。
首先我們找到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;
我們?cè)谠写a中加入這句:
$('{$this->getElementClassSelector()}').trigger('change');
作用就是在初始化的時(shí)候觸發(fā)一次聯(lián)動(dòng)。
然后在我們的表單中,我們?cè)賮?lái)定義編輯初始時(shí)候的值,代碼如下:
$form->select('hezuo', "合作模式")->options(function () { $record = request()->route()->parameters(); $record = $record["chanpin"]; $data = ChanpinModel::where('id', $record)->first(); $hezuoList = array( "1" => '測(cè)試1', "2" => '測(cè)試2', "3" => '測(cè)試3', ); $hezuo = $data->hezuo; return [$hezuo => $hezuoList[$hezuo]]; });
這段代碼是根據(jù)當(dāng)前記錄的值,去獲取對(duì)應(yīng)所屬那個(gè)選項(xiàng),這樣便使select聯(lián)動(dòng)編輯時(shí),能夠默認(rèn)選上我們的值。
以上是“l(fā)aravel-admin如何解決表單select聯(lián)動(dòng)時(shí)編輯默認(rèn)沒(méi)選上的問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。