「jqueryMobile」タグアーカイブ

【jQueryMobile】data-themeをJavaScriptで変えたい

jQueryMobileのdata-themeを変えるやり方をみてみました。

http://stackoverflow.com/questions/7667603/change-data-theme-in-jquery-mobile

が参考になります。

展開用のボタンをクリックすると色が変わるようにする例です。buttonMarkupはbutton(‘refresh’)をしなくても画面上に反映してくれます。

なおbuttonMarkupはdata-role属性にbuttonを持ったaタグなどをボタンに変えるメソッドで、button要素にたいしては効きません。

buttonに対して書くとしたら

のようになりますが、hoverの対応とかもあるし、ちょっと大変ですね。

【cakePHP】トグルスイッチをAJAXで反映させる

さして目新しいことでもないですが簡単な小ネタでも。

トグルスイッチを切り替えるたびにDBを書き換えることは簡単にできます。
cakePHP2.0+jQueyMobile1.2でのトグルスイッチのDBへの反映のやり方です。いいやり方か分からないですが何かの助けになればと。

cakePHPのアクションは

こんな感じです。これをコントローラに記述して /{コントローラ名}/toggleValid/{ID} にアクセスするたびにvalidカラムが0と1に交互に変わります。CASE文で判定すればいろいろできて便利なのでcakePHPでSQL組み立てるやり方が分からないときはとりあえずqueryファンクション使っちゃいます。

そしてこの関数はコントローラーでなくモデルに書くべきものなので実際にはモデルに書いてます。またjQueryMobileと組み合わせているので下のようになります。

[共通読み込みJavaScriptファイル]

このファイルはjQueryMobile特有の処理をしています。最初のイベントバインドはDOMキャッシュを有効にしたままJavascriptを実行させるため、data-role=”page”の属性を持つコンテナにidを割り振り、そのページコンテナの初期イベントを監視しています。

[ビューファイル(index.ctp)]

$validと$idはコントローラからセットしておいてください。data-idはjQueryMobileではおなじみのHTML5の独自データ属性です。これでデータIDをjQueryへ渡すのが簡単です。

[AJAX呼び出し先コントローラー]

[モデル]