限制Laravel中的选定选项

时间:2018-10-13 09:46:03

标签: laravel synchronization laravel-blade

我正在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);
}

1 个答案:

答案 0 :(得分:0)

您可以在前端使用jQuery并限制用户的选择。

使用change事件,您可以执行以下操作:

var limit = 3;
$('input.single-checkbox').on('change', function(evt) {
   if($(this).siblings(':checked').length >= limit) {
       this.checked = false;
   }
});