動的に生成されるテーブルで動作するように特定のテーブル行を表示したり非表示にしたりしようとしています。テーブル自体はララベルコレクションからデータを取得します。
この表の背後にあるアイデアは、ユーザーにラベルグループを表示させたいということです。これらのグループには、そのグループ番号で0個、1個、またはそれ以上のラベルを付けることができます。適切なグループの下にラベルを表示します。次のようにJareryはlaravel動的テーブルのテーブル行を非表示にして表示します
コードは次のとおり
<table id="labeltable" class="table table-bordered">
@foreach($labelgroups as $labelgroup)
@foreach($labelgroup->all() as $groep)
<!-- Als de laatst ingevulde groep door de foreach loop verschillend is van de huidige groep, vul die dan in.
Anders vul je deze en de rest van de headers niet in en wacht je tot er een nieuwe header is. -->
@if($lastgroup !== $groep->groep)
<thead>
<tr>
<td></td><!-- Empty line -->
</tr>
<tr style="background-color: #5cb85c">
<th>{{ $groep->groep }}</th>
<!-- Laatst ingevulde groep bepalen -->
{{ $lastgroup = $groep->groep }}
@if($event->present()->nl)
<th>{{Initialise::lang('lbl.algemeen.taal_1')}}</th>
@endif
@if($event->present()->fr)
<th>{{Initialise::lang('lbl.algemeen.taal_2')}}</th>
@endif
@if($event->present()->en)
<th>{{Initialise::lang('lbl.algemeen.taal_3')}}</th>
@endif
@if($event->present()->de)
<th>{{Initialise::lang('lbl.algemeen.taal_4')}}</th>
@endif
</tr>
</thead>
@endif
@endforeach
@foreach($labelgroup->all() as $label)
<tbody>
<tr class="{{ $groep->groep }}">
<td>{{ $label->label }}</td>
@if($event->present()->nl)
<td>{!! Form::textarea('taal_1',$label->taal_1, array('id' => $label->id.'_1','rows' => 2, 'data-taal' => 'taal_1', 'data-url' => LinkHelper::route('label.update',$label->id),'class' => 'form-control', 'onchange' => 'initialise.update("'.LinkHelper::route('label.update',$label->id).'","taal_1",this.value);')) !!}</td>
@endif
@if($event->present()->fr)
<td>{!! Form::textarea('taal_2',$label->taal_2, array('id' => $label->id.'_2','rows' => 2, 'data-taal' => 'taal_2', 'data-url' => LinkHelper::route('label.update',$label->id),'class' => 'form-control', 'onchange' => 'initialise.update("'.LinkHelper::route('label.update',$label->id).'","taal_2",this.value);')) !!}</td>
@endif
@if($event->present()->en)
<td>{!! Form::textarea('taal_3',$label->taal_3, array('id' => $label->id.'_3','rows' => 2, 'data-taal' => 'taal_3','data-url' => LinkHelper::route('label.update',$label->id),'class' => 'form-control', 'onchange' => 'initialise.update("'.LinkHelper::route('label.update',$label->id).'","taal_3",this.value);')) !!}</td>
@endif
@if($event->present()->de)
<td>{!! Form::textarea('taal_4',$label->taal_4, array('id' => $label->id.'_4','rows' => 2, 'data-taal' => 'taal_4','data-url' => LinkHelper::route('label.update',$label->id),'class' => 'form-control', 'onchange' => 'initialise.update("'.LinkHelper::route('label.update',$label->id).'","taal_4",this.value);')) !!}</td>
@endif
</tr>
</tbody>
@endforeach
@endforeach
</table>
表コードは、次の表を生成します。
列と行を動的に私はどのように私は、ヘッダー<th>
要素をクリックしたときと言うことができたでクリックイベントを行うには見当がつかない挿入されているので:イメージは、テーブルの一部であります下にある<td>
要素(<th>
グループに属するラベルを表す)を隠すことができます。 <th>
には、その 'グループ'に対応する行の量が異なることがあります。
誰かが私にこれをどうするべきかについてのいくつかの指標を教えてもらえますか?
を切り替えるとCSSでます。 HiddenRows {display:none}とjavascriptではこのクラスを削除できます。 –
問題は、ヘッダの下の行にどのように接近するのかわからないということです。なぜなら、どこか別の行を定義し、私が知る限り、DOMを通してそれらに到達できないからです。 –
これらの行にユーザー操作がありますか?はいの場合は、隠す行を特定するための何かが必要です。すべての行または特定の行を非表示にしますか? –