アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPと、jqueryの ajax と toggleの切り替えを使って、OFF/onのボタンを切り替え、ONボタンを押したときに、データベースに挿入、OFFを押したときに、データベースから削除のようなことは可能でしょうか? 可能だとするなら、概要だけでも教えてください。考えていますが、思いつかません。


<button>
<span >OFF</span>
<span style="display: none;">ON</span>
</button>

<script>
$("button").click(function(){
$("span").toggle();
});
</script>

A 回答 (2件)

こんにちは



jQueryのtoggleは2種類の書式があって、引数などが無い
toggle()
だと表示(style.display)の切替えになりますが、
toggle(function(){~~}, function(){~~})
では、これらの引数の関数が順に実行されます。(関数は2つ以上あっても良い)
http://api.jquery.com/toggle-event/

ajaxでの送信やデータベースの扱いはご存知として、ご提示のHTMLを例にすれば、
$("button").toggle(
function(){
$("span", this).toggle();

//データベースから削除のスクリプトを記述
alert("OFFをクリックしました");
},
function(){
$("span", this).toggle();

//データベースに挿入のスクリプトを記述
alert("ONをクリックしました");
});

といった方式になされば可能でしょう。
(サンプルではアラート表示にしてあります。)
実際には、ajaxなどの処理は別関数にしておいて、上記から呼び出すのがわかりやすいと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。参考になります。

お礼日時:2017/04/08 02:07

ボタンの切り替えはこんな感じ


<script>
$(function(){
$("button").click(function(){
$(this).find("span").each(function(){
if($(this).css('display')=="none"){
$(this).show();
}else{
$(this).hide();
}
});
});
});
</script>
<button>
<span>OFF</span>
<span style="display: none;">ON</span>
</button>

この他に、送信ボタンをつくって、ajaxで登録用ページに値を渡しせばよいでしょう
    • good
    • 0
この回答へのお礼

ありがとうございます。参考になります。

お礼日時:2017/04/08 02:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!