前提・実現したいこと
環境:cakePHP3, PHP5.6, HTML5, jQuery
現在「もっと見る」ボタンの実装を上記の環境を使って実装しています。
「もっと見る」ボタン押下後、ボタン非表示フラグがあれば「もっと見る」ボタンを消したいと思っています。
そうするにはどのような書き方をすればいいでしょうか?ボタン非表示フラグを受け取ったと仮定してその後の処理の書き方が知りたいです。
実際に自分で試みたのは以下です。
・ボタン非表示フラグがあれば、SampleControllerのsampleメソッド内に「$this->set('visible', 'false');」とし、sample.ctpに値を渡す。
・sample.ctp内でPHPタグで値受け取る。
・その値があればjQueryでremove()を使って、もっと見るボタンを削除する。
ただうまくいかなかったり、やり方としてどうかなと思うところがありました。
そこで是非やり方がわかる方がいらっしゃれば教えていただければと思います。
コード
webroot/js/sample.js
javascript
1$(function() { 2 $('#more_list').on('click', function() { 3 $.ajax({ 4 type: "post", 5 // url: "http://localhost/cakephp3/Sample/sample", //成功 6 url: "<?php echo $this->html->url(array('controller' => 'Sample', 'action' => 'sample')); ?>", //失敗 7 dataType: "text", 8 }).done(function(data) { 9 $("#hoge").append(data); 10 }).fail(function(data) { 11 console.log("error!"); 12 }); 13 }); 14}); 15 16
src/Controller/SampleController.php
php
1<?php 2namespace App\Controller; 3 4use App\Controller\AppController; 5 6class SampleController extends AppController 7{ 8 public function index() 9 { 10 } 11 12 public function sample() 13 { 14 } 15} 16 17 18
src/Template/Sample/index.ctp
html
1<ul id="hoge"> 2 <li>トマト</li> 3 <li>キャベツ</li> 4 <li>もやし</li> 5</ul> 6<button type="button" id="more_list">もっと見る</button> 7 8<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 9<script src="js/sample.js"></script> 10 11 12
src/Template/Sample/sample.ctp
html
1<li>にんじん</li> 2<li>だいこん</li> 3 4 5 6
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/18 23:48
2016/03/18 23:58
2016/03/19 00:14
2016/03/19 03:00
2016/03/19 03:12 編集
2016/03/19 05:04
2016/03/19 08:44