我在和拉拉8和生活电线一起工作。在将select2添加到下拉选择之后,livewire搜索无法工作。
这是现场直播
<?php
namespace App\Http\Livewire\Album;
use App\Models\Album;
use domain\Facades\Gallery\GalleryFacade;
use Livewire\Component;
use Livewire\WithPagination;
class SearchAlbum extends Component
{
use WithPagination;
public $searchTerm;
public function render()
{
$galleries = GalleryFacade::all();
$searchTerm = '%' . $this->searchTerm . '%';
$gallery_id = $this->gallery_id;
return view('livewire.album.search-album', [
'albums' => Album::where('gallery_id', '=', $gallery_id)->where('name', 'like', $searchTerm)->paginate(12),
'galleries' => $galleries,
]);
}
}
这是刀片中的选择选项
$('#select-gallery').select2({
placeholder: "Select A Gallery",
});
<select id="select-gallery" class="custom-select" name="gallery_id" wire:model="gallery_id">
<option></option>
@foreach ($galleries as $gallery)
<option value="{{ $gallery->id }}">{{ $gallery->name }}</option>
@endforeach
</select>
我想要检索所有的相册与选定的画廊。但是,当选择一个图库时,它不会搜索。但是当使用没有select2插件的select选项时,它可以工作。
有人能帮我解决这个问题吗?
发布于 2021-01-05 02:03:33
首先,将名为gallery_id的公共变量放在SearchAlbum类中。
之后,您必须对刀片和jquery进行以下更改:
刀片:
<div wire:ignore>
<select id="select-gallery" class="custom-select" name="gallery_id"
wire:model="gallery_id">
<option value="">Select Gallery</option>
@foreach ($galleries as $gallery)
<option value="{{ $gallery->id }}">{{ $gallery->name }}</option>
@endforeach
</select>
</div>
jquery:
<script>
$(document).ready(function() {
$('#select-gallery').select2();
$('#select-gallery').on('change', function (e) {
var data = $('#select-gallery').select2("val");
@this.set('gallery_id', data);
});
});
</script>
https://stackoverflow.com/questions/65576366
复制相似问题