我需要创建收据。
用户能够创建包含多种成分的新产品。
我使用一个表来布局输入,并且在每一行上都有一个使用以下代码生成的现有成分的选择列表:
<?php echo $this->Form->input('Receipt.0.ingredient_id', array( 'label' => false,'div' => false, 'class' => ''));
生成以下html
<select id="Receipt0IngredientId" class="" name="data[Receipt][0][ingredient_id]">
<option value="1">Ingredient B</option>
<option value="3">Ingredient B</option>
<option value="4">Ingredient B</option>
</select>
另一个字段输入所需的所选成分的数量。
<?php echo $this->Form->input('Receipt.0.amount', array( 'label' => false,'div' => false, 'class' => '')); ?>
事实是,成分的种类会因产品而异,目前,当用户单击“添加新行”按钮时,我正在使用jQuery来添加新行,但是我不知道如何更改每个字段的名称值
jQuery代码:
$("#addNewLine").click(function() {
$('#add_ingredient tbody>tr:last').clone(true).insertAfter('#add_ingredient tbody>tr:last');
return false;
});
我不确定这是否是实现此目标的最佳方法。任何帮助或建议,将不胜感激,谢谢。
最佳答案
当用户单击添加新行按钮时,我正在使用jQuery添加新行,但是我不知道如何更改每个字段的名称值
克隆元素时,可以在插入元素之前(或之后)对其进行修改:
$('#add_ingredient tbody>tr:last').clone(true)
.attr("name", "new name here")
.insertAfter('#add_ingredient tbody>tr:last');
如果您发布了更多详细信息,例如,在更改之前显示html,然后举例说明新html的外观,那么我可以提供一些更详细的建议。
附言您是在谈论“收据”还是“食谱”?
关于php - CakePHP:根据需要为表添加新行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8867252/