我有一个小问题。我有这段代码,但是仅将最后一个输入值插入到数据库中。我的函数执行新输入,如果您单击 + 然后再次输入新输入,但我希望将所有这些输入值插入数据库,但此代码仅将最后一个输入值插入数据库。 示例:我插入 53424345,然后插入 56546546,只有 56546546 进入数据库。但我想进入数据库 53424345、56546546。这可能吗?以及如何做这样的事情?
<table id="mytable">
<tr id="number0" style="display:none;">
<td><?php echo $this->Form->button(' - ',array('type'=>'button','title'=>'Click Here to remove this number')); ?></td>
<td><?php echo $this->Form->input('lisanumbrid'); ?></td>
</tr>
<tr id="trAdd"><td> <?php echo $this->Form->button('+',array('type'=>'button','title'=>'Click Here to add another number','onclick'=>'addNumber()')); ?> </td><td></td><td></td><td></td><td></td></tr>
</table>
<?php echo $this->Html->script(array('jquery-2.1.1.min.js'));?>
<script type='text/javascript'>
var lastRow=0;
function addNumber() {
lastRow++;
$("#mytable tbody>tr#number0").clone(true).attr('id','lisanumbrid'+lastRow).removeAttr('style').insertBefore("#mytable tbody>tr#trAdd");
$("#lisanumbrid"+lastRow+" button").attr('onclick','removeNumber('+lastRow+')');
$("#lisanumbrid"+lastRow+" input:first").attr('numbrid','data[Lisanumbrid]['+lastRow+'][lisanumbrid]').attr('id','numbridlisaNumber'+lastRow);
}
function removeNumber(x) {
$("#lisanumbrid"+x).remove();
}
</script>
谢谢,我接受所有提示和解决方案。
最佳答案
考虑到您要将数据保存到模型表中,您需要进行 2 项更改:
1) 将您的输入修改为
<?php echo $this->Form->input('lisanumbrid',array('name'=>'data[Model][0][lisanumbrid]')); ?>
2) 将 addNumber() 修改为
function addNumber() {
lastRow++;
$("#mytable tbody>tr#number0").clone(true).attr('id','lisanumbrid'+lastRow).removeAttr('style').insertBefore("#mytable tbody>tr#trAdd");
$("#lisanumbrid"+lastRow+" button").attr('onclick','removeNumber('+lastRow+')');
$("#lisanumbrid"+lastRow+" input:first").attr('numbrid','data[Lisanumbrid]['+lastRow+'][lisanumbrid]').attr({'id':'numbridlisaNumber'+lastRow,'name': 'data[Model]['+ lastRow +'][lisanumbrid]'});
}
关于php - 插入到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27227095/