(Laravel)使用数据库中的数据动态打开模态


(Laravel) Open modal dynamically with data from DB

我对编程很陌生,遇到了一个我真的不知道如何解决的问题。

基本上,我有一个视图,其中包含一个充满事件的表:

// routes.php
Route::get('calendario/calendario_personale', 'CalendarioController@creaCalendarioPersonaleLista');
// controller
public function creaCalendarioPersonaleLista() {
    $lista_militi = Milite::where('Aktiv', '=', 'True')
        ->orderBy('Name')
        ->orderBy('Vorname')
        ->get();
    $milite = Milite::where('eMailB', '=', Auth::user()->email)
        ->first();
    $agenda = Milite::find($milite->KeyPerson)
        ->AgendaPersonale
        ->all();
    return View::make('calendario_personale', compact('agenda'))
        ->with('lista_militi', $lista_militi);
}
// view
<!-- ********** INIZIO EXTENDED MODAL - FORMULARIO ANNUNCIO ASSENZE ********** -->
<div id="annuncio_assenza" class="modal fade" tabindex="-1" data-width="550">
@var $key = '4000';
@var $spec_agenda = Agenda::find($key)
<div class="modal-body">
{{ Form::open(['action' => 'CalendarioController@inviaAnnuncioAssenza']) }}
    <div class="row">
        <div class="col-md-12">
            <span class="_red"><h3> Annuncio d'assenza </h3>
            <h5> Da inviare almeno 48 ore prima dell'evento </h5></span>
            <br/>
            <h5> Non posso essere presente a <span class="_bold"> {{ $spec_agenda->Bezeichnung }} </span></h5>
            <h5> che si terr&agrave; il giorno <span class="_bold"> {{ date('d.m.Y', strtotime($spec_agenda->Datum)) }} </span> alle ore <span class="_bold"> {{ date('H:i', strtotime($spec_agenda->Zeit)) }} </span></h5>
            <h5> per il seguente motivo: </h5><br/>
            <table id="form-assenza">
                <tr>
                    <td> {{ Form::checkbox('personale') }} Personale </td>
                    <td> {{ Form::checkbox('vacanza') }} Vacanza </td>
                </tr>
                <tr>
                    <td> {{ Form::checkbox('professionale') }} Professionale </td>
                    <td> {{ Form::checkbox('militare') }} Servizio militare/PCi </td>
                </tr>
                <tr>
                    <td> {{ Form::checkbox('infortunio') }} Infortunio/malattia </td>
                    <td> {{ Form::checkbox('altri_impegni') }} Altri impegni </td>
                </tr>
            </table>
            {{ Form::hidden('cosa', $spec_agenda->Bezeichnung) }}
            {{ Form::hidden('data', date('d.m.Y', strtotime($spec_agenda->Datum))) }}
            {{ Form::hidden('ora', date('H:i', strtotime($spec_agenda->Zeit))) }}
            <br/><br/>
            <h5><span class="_red"> Da compilare in caso di assenza per Guardia Festiva, picchetto e/o appoggio: </span></h5>
            <h5> Verr&ograve; sostituita/o da: </h5>
            <div class="form-group">
                <select class="form-control" style="font-size: 1em" name="sostituto">
                    <option value=""> Seleziona un milite... </option>
                    @foreach($lista_militi as $militi)
                    <option value="{{ $militi->KeyPerson }}"> {{ $militi->Dienstgrad }} {{ $militi->Name }} {{ $militi->Vorname }} </option>
                    @endforeach
                </select>
            </div>
            <br/><h5> Altro/Osservazioni </h5>
            <p> {{ Form::textarea('altro', null, ['class'=>'form-control _small', 'rows' => '3']) }} </p>
        </div>
    </div>
</div>
<div class="modal-footer">
    {{ Form::button('Annulla', ['class'=>'btn btn-default', 'data-dismiss'=>'modal']) }}
    {{ Form::submit('Invia il formulario', ['class'=>'btn red']) }}
</div>
{{ Form::close() }}
</div>    
<!-- ********** FINE EXTENDED MODAL - FORMULARIO ANNUNCIO ASSENZE ********** -->
<!-- BEGIN PAGE CONTENT-->
<div class="row">
<div class="col-md-12">
    <!-- ********** INIZIO PORTLET ********** -->
    <div class="portlet box red profile margin-top-minus5">
        <div class="portlet-title">
            <div class="caption">
                <i class="fa fa-calendar-o"></i> Calendario personale
            </div>
            <ul class="nav nav-tabs">
                <li class="active">
                    <a href="calendario_personale"> Personale </a>
                </li>
                <li>
                    <a href="calendario_corpo"> Corpo </a>
                </li>
            </ul>
        </div>
        <div class="portlet-body">
            <div class="row">
                <div class="col-lg-12">
                    <table class="table table-striped table-bordered table-hover _dark-grey" id="table_custom">
                        <thead>
                        <tr>
                            <!-- Visualizzazione su xs -->
                            <th class="hidden-sm hidden-md hidden-lg on-one-line"> Data </th>
                            <!-- Visualizzazione su sm, md e lg -->
                            <th class="hidden-xs on-one-line"> Data </th>
                            <th> Descrizione </th>
                            <!-- Visualizzazione sm, md e lg -->
                            <th class="hidden-xs on-one-line"> Assenza </th>
                            <!-- Visualizzazione xs -->
                            <th class="hidden-sm hidden-md hidden-lg on-one-line"> Ass. </th>
                        </tr>
                        </thead>
                        <tbody id="link-disable">
                        @foreach($agenda as $evento)
                        <tr>
                            <!-- Visualizzazione su xs -->
                            <td class="hidden-sm hidden-md hidden-lg on-one-line">
                                <span class="_bold">
                                {{ date('d.m.Y', strtotime($evento->Datum)) }}
                                </span><br/>
                                {{ $evento->dalle_alle }}
                            </td>
                            <!-- Visualizzazione su sm, md e lg -->
                            <td class="hidden-xs on-one-line">
                                <span class="_bold">
                                {{ date('d.m.Y', strtotime($evento->Datum)) }}
                                </span> &nbsp;
                                {{ $evento->dalle_alle }}
                            </td>
                            <td>
                                {{ $evento->Bezeichnung }}
                                @if($evento->Objekt != null) , luogo: {{ $evento->Objekt }} @endif
                                , {{ $evento->Einsatzart }}
                                @if($evento->Leiter != null) , responsabile: {{ $evento->Leiter }} @endif
                            </td>
                            <!-- Visualizzazione sm, md e lg -->
                            <td class="hidden-xs on-one-line">
                                {{ HTML::link('#annuncio_assenza', 'Annuncia', ['onclick' => 'specAgenda('.$evento->KeyAgenda.')', 'id' => 'form_assenza', 'data-toggle' => 'modal', 'name' => 'link_form_assenza', 'data-value' => $evento->KeyAgenda]) }}
                            </td>
                            <!-- Visualizzazione xs -->
                            <td class="hidden-sm hidden-md hidden-lg on-one-line">
                                {{ HTML::link('#annuncio_assenza', 'Ann.', ['onclick' => 'specAgenda('.$evento->KeyAgenda.')', 'id' => 'form_assenza', 'data-toggle' => 'modal', 'name' => 'link_form_assenza', 'data-value' => $evento->KeyAgenda]) }}
                            </td>
                        </tr>
                        @endforeach
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
    <!-- ********** FINE PORTLET ********** -->
</div>

可以想象,每个事件都有一个密钥,我将其保存在链接的数据值中($evento->KeyAgenda)。现在,由于页面没有重新加载,我如何将密钥传递到模态表单?我尝试了一些JavaScript,但似乎不起作用,现在已经浪费了一天,我生病了。

有人能帮我做这件事吗???提前感谢!!

让我试着更好地解释一下情况。。。

我有日历的视图。我使用foreach和模型中的数据填充表。请参阅此链接中的图片:https://www.dropbox.com/s/3ewcmy73gksjwcw/calendario.jpg?dl=0

然后我有了我的模态形式,它与最后一列的单词"Annuncia"相连,就像这样:https://www.dropbox.com/s/sjft7a1wtb6wvj2/modaleassenza.jpg?dl=0

我想做的是用一些连接到行事件的信息填充表单。例如,当我点击第一个原始时,模态的粗体部分应该已经填充了正确的记录(描述、日期和时间)。

我希望现在更清楚了。。。很抱歉,英语不是我的母语。