我有一個add.ctp文件,我可以添加多行,如果我把addNumber函數app/webroot/js
,那麼它不工作,爲什麼?函數不工作,如果我把這個js文件夾
我的視圖文件(add.ctp
)
<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', array ('name'=>'data[Kontaktid][lisanumbrid][0]')) ?></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->Form->end('Lisa');
?>
添加多行功能(addNumber.js
)在這裏app/webroot/js
:
var lastRow=0;
function addNumber() {
$("#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[Kontaktid][lisanumbrid]['+ lastRow +']'});
lastRow++;
}
function removeNumber(x) {
$("#lisanumbrid"+x).remove();
}
jQuery的文件是像一個功能相同的文件夾,其在呼應C:\wamp\www\cakephp-2.5.6\app\View\Layouts\default.ctp
echo $this->Html->script('jquery-2.1.1.min.js');
如果我把這個addNumber函數放到add.ctp
文件中並放入add.ctp
<?php echo $this->Html->script(array('jquery-2.1.1.min.js'));?>
然後它的工作很好,把我不想把這些放到add.ctp文件中。
感謝您的幫助!
爲什麼不把所有的js文件inseide webroot/js文件夾? – 2014-12-05 10:34:57
我有webroot/js裏面的所有js文件,你是什麼意思? – frantsium 2014-12-05 10:38:37
感謝您添加您的解決方案。正如你發現的那樣,最好在答案中這樣做,而不是問題編輯。 – halfer 2014-12-16 22:22:16