Я пытаюсь добавить строки в html-таблицы в представление CakePHP и при необходимости увеличивать идентификаторы/имена. Код, используемый для создания таблицы является:CakePHP 2.0 add html table row
<tbody>
<tr>
<td><?php echo $this->Form->input('OrderDetail.0.product_code'); ?></td>
<td><?php echo $this->Form->input('OrderDetail.0.product_name'); ?></td>
<td><?php echo $this->Form->input('OrderDetail.0.product_qty'); ?></td>
<td><?php echo $this->Form->input('OrderDetail.0.product_price'); ?></td>
</tr>
</tbody>
CakePHP выводит следующий HTML:
<tbody>
<tr>
<td><div class="input text"><input name="data[OrderDetail][0][product_code]" maxlength="100" type="text"/></div></td>
<td><div class="input text"><input name="data[OrderDetail][0][product_name]" maxlength="255" type="text"/></div></td>
<td><div class="input number"><input name="data[OrderDetail][0][product_qty]" step="any" type="number"/></div></td>
<td><div class="input number"><input name="data[OrderDetail][0][product_price]" step="any" maxlength="24" type="number"/></div></td>
</tr>
</tbody>
При нажатии на ссылку/кнопку Я хотел строку добавляется в таблицу в том же формате, но с массив увеличивается на 1, как, например:
<tbody>
<tr>
<td><div class="input text"><input name="data[OrderDetail][0][product_code]" maxlength="100" type="text"/></div></td>
<td><div class="input text"><input name="data[OrderDetail][0][product_name]" maxlength="255" type="text"/></div></td>
<td><div class="input number"><input name="data[OrderDetail][0][product_qty]" step="any" type="number"/></div></td>
<td><div class="input number"><input name="data[OrderDetail][0][product_price]" step="any" maxlength="24" type="number"/></div></td>
</tr>
<tr>
<td><div class="input text"><input name="data[OrderDetail][1][product_code]" maxlength="100" type="text"/></div></td>
<td><div class="input text"><input name="data[OrderDetail][1][product_name]" maxlength="255" type="text"/></div></td>
<td><div class="input number"><input name="data[OrderDetail][1][product_qty]" step="any" type="number"/></div></td>
<td><div class="input number"><input name="data[OrderDetail][1][product_price]" step="any" maxlength="24" type="number"/></div></td>
</tr>
</tbody>
я могу получить желаемый результат, используя обычный старый Javascript, но я искал более элегантное решение. У меня jQuery и JSHelper загружен.
Спасибо за это, он работал большой. Мне пришлось изменить $ (": button"), $ ("tr: last-child") и $ ("tr: last-child input"), чтобы они ссылались на определенный идентификатор элемента (моя страница сложнее чем приведенный пример). – DavidMC1982