質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

2152閲覧

idで表示を切り替えるタブの「初期表示タブ」をリンクによって切り替えたい

HirakuMorishima

総合スコア29

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/06/25 03:03

##現状
現在、JavaScriptを使用して、1つのビュー上でタブの選択によって画面を切り替えるという仕組みを作りました。
タブ自体は、idで振り分けた範囲を、タブ選択によって切り替え表示するといったものです。
idはそれぞれ「#todo」「#invoice」として分けています。
全体のURLとしては以下のようになります。
http://〜〜〜〜〜.amazonaws.com/user#todo
http://〜〜〜〜〜.amazonaws.com/user#invoice

現在のところ「#todo」をactive-btn指定しているため、初期表示は#todo側となっています。

##叶えたいこと
・他のビューから「<li><a href=”{{ url(‘/user#invoice’)}}”>クライアント一覧<i class=”material-icons left”>person</i></a></li>」といったリンク指定にした際に、タブが「#invoice」側を表示させた状態で画面遷移させたい。
・もしくは他に別ビューからactiveではない「#invoice」を初期表示させることができる操作があれば教えてほしい。

##コード
●user.blade.php(タブの切り替え表示を行うindexのようなものです。)

php

1@extends('layouts.layout') 2@section('title','ユーザー画面') 3 @section('body') 4 <!-- タブのボタン部分 --> 5 <nav class="nav-extended"> 6 <div class="nav-wrapper center-align"> 7 <h2 class="brand-logo">Invoice&ToDo</h2> 8 </div> 9 <div class="nav-content"> 10 <ul class="tabs tabs-transparent"> 11 <li class="tab right"><a class="tab_btn is-active-btn tab" href="#todo">案件</a></li> 12 <li class="tab right"><a class="tab_btn tab" href="#invoice">請求書</a></li> 13 </ul> 14 </div> 15 </nav> 16 <!-- タブのコンテンツ部分 --> 17 <div class="tab_item is-active-item row" id="todo"> 18 <a href="#" data-target="slide-out" class="sidenav-trigger btn-floating"><i class="medium z-depth-1 material-icons">add</i></a> 19 <!--案件のサイドメニュー--> 20 <div class="col s0 l2"> 21 <ul id="slide-out" class="sidenav sidenav-fixed "> 22 <li><a href="#">クライアント一覧<i class="material-icons left">person</i></a></li> 23 <li><a href="#">案件カレンダー<i class="material-icons left">date_range</i></a></li> 24 <li><a href="{{ url('/addClient')}}">クライアント追加<i class="material-icons left">add</i></a></li> 25 <li><a href="{{ url('/addItem')}}">案件追加<i class="material-icons left">add</i></a></li> 26 </ul> 27 </div> 28 <!--案件のコンテンツ--> 29 <div class="container col s12 l10 card-panel light-blue accent-1"> 30 <h4 class="center-align">クライアント一覧</h4> 31 <table class="clientList highlight centered"> 32 <thead> 33 <tr> 34 <th>クライアント名</th> 35 <th>クライアント情報管理</th> 36 </tr> 37 </thead> 38 <tbody> 39 @foreach($list as $val) 40 <tr> 41 <td><a href="/items/{{ $val->id }}">{{$val->client_name}}</a></td> 42 <td><a href="/editClient/{{ $val->id }}"><button type="button"class="btn-floating waves-effect blue btn-small"><i class="material-icons">mode_edit</i></button></a></td> 43 </tr> 44 @endforeach 45 </tbody> 46 </table> 47 </div> 48 </div> 49 <div class="tab_item row" id="invoice"> 50 <!--請求書のサイドメニュー--> 51 <div class="col s0 l2"> 52 <a href="#" data-target="slide-out2" class="sidenav-trigger btn-floating"><i class="medium z-depth-1 material-icons">add</i></a> 53 <ul id="slide-out2" class="sidenav sidenav-fixed "> 54 <li><a href="#">案件カレンダー<i class="material-icons left">date_range</i></a></li> 55 <li><a href="{{ url('/editUser')}}">ユーザー情報管理<i class="material-icons left">person</i></a></li> 56 <li><a href="{{ url('/checkClient')}}">請求書作成<i class="material-icons left">add</i></a></li> 57 </ul> 58 </div> 59 <!--請求書のコンテンツ--> 60 <div class="container col s12 offset-l3"> 61 <h2>請求書一覧</h2> 62 <div class="collection invoiceList"> 63 @foreach($list as $val) 64 <a href="/invoice/{{ $val->id }}" class="collection-item">{{$val->client_name}}</a> 65 @endforeach 66 </div> 67 </div> 68 </div> 69@endsection

●他ビューのblade

php

1@extends('layouts.layout') 2@section('title','案件追加') 3 @section('body') 4 <!--サイドメニューここから--> 5 <div class="row"> 6 <div class="col s0 l2"> 7 <ul id="slide-out" class="sidenav sidenav-fixed "> 8 <li><a href="{{ url('/user#invoice')}}">クライアント一覧<i class="material-icons left">person</i></a></li> 9 <li><a href="#">案件カレンダー<i class="material-icons left">date_range</i></a></li> 10 <li><a href="{{ url('/editUser')}}">ユーザー情報管理<i class="material-icons left">person</i></a></li> 11 <li><a href="{{ url('/addInvoice')}}">請求書作成<i class="material-icons left">add</i></a></li> 12 </ul> 13 </div> 14 <!--サイドメニューここまで--> 15 <div class="col s12 offset-l1 l8"> 16 <nav class="header"> 17 <a href="#" data-target="slide-out" class="sidenav-trigger btn-floating"><i class="medium z-depth-1 material-icons">add</i></a> 18 <h2 class="center-align">請求書の追加</h2> 19 </nav> 20 {{Form::open(['url' => 'addNewInvoice'])}} 21 {{ csrf_field() }} 22 <div class="input-field col s12"> 23 {{Form::text('invoice_title', '',['class' => 'validate', 'id' => 'invoice_title'])}} 24 {{Form::label('invoice_title','請求書のタイトル')}} 25 </div> 26 <div class="input-field col s12"> 27 {{Form::text('billing_name', $clientList->client_name,['class' => 'validate', 'id' => 'billing_name'])}} 28 {{Form::label('billing_name','請求宛先名称')}} 29 </div> 30 <div class="input-field col s12"> 31 {{Form::text('billing_address', $clientList->client_address,['class' => 'validate', 'id' => 'billing_address'])}} 32 {{Form::label('billing_address','請求先住所')}} 33 </div> 34 <div class="input-field col s12"> 35 {{Form::text('payment_day', '',['class' => 'datepicker', 'id' => 'payment_day'])}} 36 {{Form::label('payment_day','支払い期限')}} 37 </div> 38 <div class="input-field col s12"> 39 {{Form::text('billing_day', '',['class' => 'datepicker', 'id' => 'billing_day'])}} 40 {{Form::label('billing_day','支払い期限')}} 41 </div> 42 <div class="input-field col s12"> 43 @foreach($user_infoList as $user_info) 44 {{Form::text('invoice_message', $user_info->billing_message,['class' => 'validate', 'id' => 'invoice_message'])}} 45 @endforeach 46 {{Form::label('invoice_message','請求書の備考欄')}} 47 </div> 48 {{Form::submit('請求書の追加', ['class' => 'waves-effect waves-light btn blue accent-1'])}} 49 {{Form::hidden('subtotal', 0)}} 50 {{Form::hidden('withholding_tax', 0)}} 51 {{Form::hidden('tax_amount', 0)}} 52 {{Form::hidden('sum_price', 0)}} 53 {{Form::hidden('client_id', $id)}} 54 {{Form::close()}} 55 </div> 56 </div> 57@endsection

●user.bladeへのrouting

php

1Route::get('/user', 'UserController@user');

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

せっかくのLaravelなのですからリンクで直接来る際は{{ url('/user/invoice')}}のようにリンク指定してルーティングで任意パラメータを指定してviewに渡し、view側でactive or inactiveを判断してクラスを付け替えてはいかがでしょうか。

投稿2019/06/25 03:12

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問