我正在Laravel应用中使用 sync 方法来处理相关表,例如:post
tags
post_tags
现在我希望限制用户标签的选择3
含义 用户不允许选择超过3个标签。我该怎么办?
刀片
{{ Form::label('tags', 'Tags') }}
{{ Form::select('tags[]', $tags2, null,
['class' => 'chosen-select', 'multiple' => 'multiple'])}}
控制器-> edit()
public function edit()
{
$tags = Tag::orderby('title', 'desc')->get();
$tags2 = array();
foreach ($tags as $tag) {
$tags2[$tag->id] = $tag->title;
}
}
控制器-> update()
public function update(Request $request)
{
$post->save();
$post->tags()->sync($request->tags);
}
答案 0 :(得分:0)
您可以在前端使用jQuery并限制用户的选择。
使用change
事件,您可以执行以下操作:
var limit = 3;
$('input.single-checkbox').on('change', function(evt) {
if($(this).siblings(':checked').length >= limit) {
this.checked = false;
}
});