CakePHPでJavaScriptを使う
以前の記事(CakePHPでjQueryのDatePickerを使う - yokkongの日記)で、こんなコードを書いていた。
<?php $this->Html->scriptStart(array('inline' => false)); echo <<< END function test(){ alert("クリックしました"); } END; $this->Html->scriptEnd(); ?>
これはこれで間違ってはいないのだけれど、JavaScriptの中でCakePHPの値を使うときにどう書いていいのか分からなかった。
そこで、
<?php $this->Html->scriptStart(array('inline' => false)); ?> function test(){ alert("クリックしました"); } <?php $this->Html->scriptEnd(); ?>
とすることで、JavaScriptの中でCakePHPの値を使えるようにした。
<?php $this->Html->scriptStart(array('inline' => false)); ?> $(function() { $( "#search" ) .button() .click(function() { $.ajax({ url:'<?php echo $this->Html->url('/users/search'); ?>', ...(以下略) }); }); }); <?php $this->Html->scriptEnd(); ?>
こんな感じ。