Laravelを使ってTodoリストを作っています。
今、現在タスク表示、非表示機能を作っています。(全て、作業中、完了のラジオボタンごと表示を切り替える)
PHPを使っての実装はできたのですが、JSを使うと良いとアドバイスを受け同じような処理が実装できずに悩んでいます。
・PHPを使ったやり方
php
1 <label><input type="radio" name="all" value="0" onclick="location.href='/todos'" {{$checked0}}>すべて</label> 2 <label><input type="radio" name="task" value="1" onclick="location.href='/todos/task'" {{$checked1}}>作業中</label> 3 <label><input type="radio" name="radio" value="2" onclick="location.href='/todos/finish'" {{$checked2}}>完了</label>
php
1public function index(Request $request) 2 { 3 $items = Todo::all(); 4 5 $data = [ 6 'checked0' => 'checked', 7 'checked1' => '', 8 'checked2' => '' 9 ]; 10 11 return view('todo.index', ['items' => $items], $data); 12 } 13 14 public function task(Request $request) 15 { 16 $items = Todo::where('status', 0)->get(); 17 $data = [ 18 'checked0' => '', 19 'checked1' => 'checked', 20 'checked2' => '' 21 ]; 22 return view('todo.index', ['items' => $items], $data); 23 } 24 25 public function finish(Request $request) 26 { 27 $items = Todo::where('status', 1)->get(); 28 $data = [ 29 'checked0' => '', 30 'checked1' => '', 31 'checked2' => 'checked' 32 ]; 33 return view('todo.index', ['items' => $items], $data); 34 }
この処理をJavaScriptを使って、作業中のラジオボタンがチェックされたら「作業中」のデータのみをループで回すという処理がしたいです。
一応JavaScriptでここまで書いてみたのですが、ここからの処理に悩んでいます。
JavaScript
1let elements = document.getElementsByName('select'); 2 3if(elments[0].checked) { 4 document.location.href = "/todos"; 5} 6 7if(elements[1].checked) { 8 9} 10 11if(elements[2].checked) { 12 13}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/22 07:40
2020/06/22 08:12
2020/06/22 09:01
2020/06/22 10:17
2020/06/22 10:21
2020/06/23 09:31
2020/06/23 10:11
2020/06/23 10:20