2017-01-23 17 views
0

すべてを選択するのでwenzhixin/multiple-selectを使用しています。私は選択されたアイテムを取得しようとしている投稿を作成中に選択された。複数選択jqueryプラグインを使用してLaravelで複数選択値を取得する

これは私がやったことですが、動作しません。

{{ Form::label('tags', 'Tags:') }} 
<select name="tags[]" multiple="multiple" id="tags"> 
    @foreach($tags as $tag) 
     <option value="{{$tag->id}}">{{$tag->name}}</option> 
    @endforeach 
</select> 

<script> 
    $("#tags").multipleSelect({ 
     placeholder: "Tags please" 
    }); 
    $('#tags').multipleSelect().val({!!json_encode($post->tags()->getRelatedIds())!!}).trigger('change'); 
</script> 

誰も私を助けることができる場合、私はthakfulだろう。

+0

[Laravelの複数選択フォームから選択した値を取得する](http://stackoverflow.com/questions/15358227/getting-selected-values-from-a-multiple-selectform-in-laravel) ) –

+0

あなたは '$( '#tags')の代わりにmultipleSelect( 'setSelects'、[1,3]); ' –

+0

@GilleQ。リンクしているスレッドはjqueryプラグインを使用していません。 –

答えて

0

今日の終わりには、それは単なるHTML選択要素です。 tags[]の名前を考えると、これはさらに、その後、request()->get('tags');

をヘルパーを使用して$request->get('tags')として、あるいは場合はコントローラを介してフォーム内に提出し、アクセスすることができます、あなたはこのような方法で次のページに、選択したアイテムを渡すことができます。

public function myFunctionToHandleTheForm() 
{ 
    $tags = App\Tag::all(); //for example, no idea what you use 
    $selectedTags = request()->get('tags'); 

    return view('my.view', compact('selectedTags', 'tags'); 
} 

今度は、$tagsは、フォームから送信されたID'sを含む数値配列(昇順)になります。タグIDがselected tag id'sのリストに含まれている場合、我々はチェックしている、上記で

{{ Form::label('tags', 'Tags:') }} 
<select name="tags[]" multiple="multiple" id="tags"> 
    @foreach($tags as $tag) 
     <option value="{{$tag->id}}" {{ in_array($tag->id, $selectedTags) ? 'selected="selected"' : null }}>{{$tag->name}}</option> 
    @endforeach 
</select> 

、もしそうなら、私たちはselected属性を設定している:あなたはこのように確認されたデフォルト値を設定することができます。あなたのプラグインはこれを理解し、正しく翻訳します。

+0

あなたの提案に感謝します。コードには選択したタグのみが表示されます。私はすべてのタグが表示され、選択されたものだけをチェックします。ユーザがincaseを望む場合、ユーザは投稿のタグを変更したいと思う。 –

+0

以前は、タグをハンドリングするためにselect2 jqueryプラグインを使用しました。上記のコードは完全に機能していました。私はそれがすべてのオプションを選択しているので、複数選択に切り替えました。 –

+0

@ ZacharyDale私のコードはあなたの状態を正確に表しています。 'all tags'をループし、'以前に選択されたもののみ 'を選択します。これは選択されていない*チェックされていないものを残します*。 – Ohgodwhy

関連する問題