2007年11月10日
spryでサブカテゴリーフォーム @ Mac
データベースに用意したカテゴリーとサブカテゴリーをフォームで選択出来るようにspryで作ってみました。
細かく書くと面倒なので重要な部分だけ書きます。
先ずはデータセットの部分。カテゴリー用データセット(cat_ds)とサブカテゴリー用データセット(sub_ds)の定義部分です。カテゴリーデータセットは普通に設定しています。サブカテゴリーの方は、サブカテゴリー取得用のPHPへパラメータを渡す形にしています。波括弧を使うことで、他のデータセットの要素を参照出来ます。
var cat_ds = new Spry.Data.XMLDataSet("../xml/category.php", "export/row");
var sub_ds = new Spry.Data.XMLDataSet("../xml/subcategory.php?cat={cat_ds::num}", "export/row");
次に、フォーム部分。この部分で重要なのはsetrowの部分です。これがないとカテゴリーを選んでもサブカテゴリーが切り替わりません。
<span spry:region="cat_ds">
<select name="cat" id="cat" spry:repeatchildren="cat_ds">
<option value="{num}" spry:setrow="cat_ds">{name}</option>
</select>
</span>
<span spry:detailregion="sub_ds">
<select name="sub" spry:repeatchildren="sub_ds">
<option value="{num}">{name}</option>
</select>
</span>
ちなみに、データベースからのXML生成はAdobe Dreamweaver Developer Toolbox(ADDT)の「Export Recordset As XML」を使いました。category.phpとsubcategory.phpがそのファイルです。この様なちょっとしたAjaxの場合には非常に重宝します。
Dreamweaver CS3からspryは簡単に使えるようになったのですが、個人的にはイマイチに思ってました。しかし、ADDTと組み合わせるなどすると結構便利です。
2007年11月13日追記
WindowsのIEでは上記の方法では動かないようです。(T_T)
関連日記
- 2007年11月13日 spryを使った選択フォームがIEで動かない (4372)@ Windows
- 2007年09月24日 Spry XMLDataSetで表示数の制限 (4341)@ Mac
- 2007年09月25日 Spry XMLDataSetで表示数の制限2 (4126)@ Mac
- 2007年09月18日 jQueryでテーブルをシマシマに (3902)@ ウェブ
- 2008年05月25日 Spryを使ったページにブラウザのバックボタンで戻ると (3832)@ ウェブ
- 2007年10月19日 明日はDreamweaver CS3勉強会 (3704)@ Mac
- 2007年06月15日 Adobe Dreamweaver CS3 (3622)@ Mac
- 2008年02月25日 Dreamweaver CS4 SneakPeak (3419)@ Mac
- 2007年06月08日 Adobe CS3発表記念イベント 基調講演 (3410)@ Mac
- 2007年09月04日 Y!ローカルサーチAPI+Adobe Spry (3359)@ Mac
- 2007年09月05日 気になるJavaScriptライブラリー (3153)@ ウェブ
- 2007年08月28日 ADDT:ファイルリストレコードセット2 (3109)@ Mac
- 2007年08月18日 ADDT:ファイルリストレコードセット (3077)@ Mac
- 2008年02月26日 Spry 1.6.1 (2843)@ Mac
- 2007年10月20日 Dreamweaver CS3勉強会 (2793)@ Mac
- 2007年03月22日 Web Designing 2007年 04月号 (2670)@ ウェブ
- 2008年02月27日 Adobe Edge:Dreamweaver CS3 10周年記念イベント (2427)@ Mac
- 2006年05月14日 Ajax対応ページ作成用フレームワーク「Spry」 (2391)@ ウェブ
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。