我有一個JSFiddle,它演示了我的創建頁面。基本上,我有一張表格,有人可以輸入一個動作和一個日期。當添加新行時,會使用一些javascript克隆行並重置新行的日期選擇器。正如你可以在小提琴中看到的那樣,工作正常。Laravel 5 - 克隆日期選擇器的編輯頁面
我的數據然後被保存到數據庫表中,每行動一行。不包括所有的列,我的表格基本上看起來像以下
action | deliveryDate |
---------------------------------
Walk dog | 01/01/2016 |
---------------------------------
Wash clothes | 08/02/2016 |
---------------------------------
Party | 09/02/2016 |
---------------------------------
這是很好的直到這一點。問題在於此表的編輯頁面。我通過網頁它所需要的變量,然後我做了以下
@foreach($actionPoints as $key => $action)
<tr id='actionRow{{$key}}'>
<td>
{!! Form::text('actionInput['.$key.'][action]', $action->action, array('class' => 'form-control', 'id' => 'actionInput'.$key)) !!}
</td>
<td>
{!! Form::text('actionInput['.$key.'][deliveryDate]', $action->deliveryDate, array('class' => 'form-control dateControl', 'id' => 'dateInput'.$key)) !!}
</td>
</tr>
@endforeach
如果我認爲什麼是輸出的源代碼,我看到了我希望看到
<tbody>
<tr id="actionRow0">
<td>
<input type="text" value="Walk dog" name="actionInput[0][action]" id="actionInput0" class="form-control">
</td>
<td>
<input type="text" value="2016-02-23" name="actionInput[0][deliveryDate]" id="dateInput0" class="form-control dateControl hasDatepicker">
</td>
</tr>
<tr id="actionRow1">
<td>
<input type="text" value="Wash clothes" name="actionInput[1][action]" id="actionInput1" class="form-control">
</td>
<td>
<input type="text" value="2016-02-25" name="actionInput[1][deliveryDate]" id="dateInput1" class="form-control dateControl">
</td>
</tr>
</tbody>
因此,每個日期選擇元素有一個唯一的ID。問題是,因爲我的datepickers是通過JavaScript動態聲明的,所以它不適用於我的編輯頁面。因此,只有第一個日期選擇器才能工作。我不能在我的javascript中聲明一個datepickers的負載,因爲我不知道我需要多少。
有什麼辦法讓我的編輯頁面上的datepickers工作嗎?我需要以某種方式爲我所有的每一行重新聲明它們,但不太確定我如何實現這一目標?
感謝