PHP、CakePHPを使って開発をしています。
jsやjQueryはほとんど触ったことがありません。
現在、(Cake)PHPで検索したキーワードをCookieに保存し、検索ボックスに履歴として表示させております。
※一部省略しています。
PHP
1//Cookie保存処理 2function __setKeywordCookie() { 3 if (isset($this->request->query['keyword']) { 4 $keyword = $this->request->query['keyword']; 5 //~~~$keywordを整える処理諸々~~~~// 6 $new_keyword[] = $keyword; 7 } 8 9 if ($this->Cookie->check('hoge_history')) { //既存のCookieに保存 10 $history = $this->Cookie->read('hoge_history'); 11 12 //新しいキーワードを先頭に、既存のキーワードと一つの配列に 13 foreach((array)$history as $row){ 14 $new_keyword[] = $row; 15 } 16 17 $new_history = array_unique($new_keyword); 18 array_splice($new_history, 20); 19 20 $this->Cookie->write('hoge_history', $new_history); 21 $this->set('history', $new_history); 22 23 } else { //Cookieが無ければ新しく作成 24 if (isset($keyword)) { 25 $this->Cookie->write('hoge_history', $keyword); 26 $history = $this->Cookie->read('hoge_history'); 27 $this->set('history', $history); 28 } 29 } 30 } 31
View側にセットした$historyを、foreachで履歴として表示させています。
今回は、このViewで表示させている履歴に、「✕」を表示し、クリックで履歴が非同期で削除され非表示になる、ということをやりたいのですが、
JavaScriptで下記のようにして、履歴ワードを表示させている<li>をクリックで削除にはできるのですが、
Cookieごと削除となるとどのように、というかどこにどの処理を書けば良いのか分からず質問させて頂きました。
HTML
1//View部分 2<?php foreach((array)$history as $row): ?> 3 <li><span class="delete_button">✕</span><?php echo $row; ?>"></span></li> 4<?php endforeach; ?> 5
Javascript
1//先述のCakePHPファイルとは別ファイルです 2//~~~~諸々省略しています~~~~// 3 delete_button.on("click",function(){ 4 $(this).parent("li").remove(); 5 }); 6
なにか、参考やヒント、アドバイスを頂けませんでしょうか。
何卒、よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/19 06:46