PIXNET Logo登入

我想 - 我是屬於海洋

跳到主文

我無法隨妳上岸享受自在的草香,只因我是屬於海洋,當妳累了倦了,告訴我想離開寂寞的港灣,我會在岸邊對妳招招手

部落格全站分類:美食情報

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 9月 05 週五 200814:34
  • jQuery.cascade + 多重關聯式選單

::jQuery::中文官網
    jQuery 基本安裝請參考此篇【jQuery + jQuery Cycle Plugin 設定】
已往在做Select多重關聯選單,大半是透過儲存於 Javascript 的陣列,來達到
我們所想要的關聯選單效果,但那限制於我們事先輸入關聯選單裡面的值,當
選單裡的值是需要每次去判斷讀取資料庫,來達成關聯選單效果,這情況就變
的很麻煩,在此就必需依靠 jQuery.cascade ,達成此效果。

    【jQuery cascade】官網  : 範例
            官網的範例有詳細的執行效果,但範例並非是示範讀取資料庫,僅是讀
            取某資料檔的陣列,所以我們需將改為讀取資料庫的資料。
            我是參考台扣啵的文章再去做修改:[Ajax]jQuery的多重下拉選單應用
             jQuery.cascade的路徑:
               ﹂  _WWW_
                     ﹂  include
                           ﹂  javascript
                                 ﹂  jQuery
                                       ﹂  jquery-1.2.6.min.js
                                       ﹂  jquery.cascade.ext.js
                                       ﹂  jquery.cascade.js
                                       ﹂  jquery.templating.js
            1‧下載 jQuery.cascade後,將我們所需檔案放置資料夾,為上面路徑
                 所包含的四個檔。
            2‧需兩個網頁檔案為:test.php(主要呈現頁面) 及 action.php(讀取資
                 料庫處理頁面)。
    〔test.php〕
            1‧將所需jQuery程式包含進來,至於<head></head>裡。
                  <script type="text/javascript" 
                  src="include/javascript/jQuery/jquery-1.2.6.min.js"></script>
                  <script type="text/javascript" 
                  src="include/javascript/jQuery/jquery.cascade.js"></script>
                  <script type="text/javascript" 
                  src="include/javascript/jQuery/jquery.cascade.ext.js"></script>
                  <script type="text/javascript" 
                  src="include/javascript/jQuery/jquery.templating.js"></script>
            2‧網頁所需欄位,底下僅只二級關聯選單,將底下程式至於<body>
                 </boby>裡。
                  第一項<select id="myParentSelect">
                                   <option value="">請選擇</option>
                                   <option value="A">A</option>
                                   <option value="B">B</option>
                                   <option value="C">C</option>
                                   <option value="D">D</option>
                                   <option value="E">E</option>   
                              </select>
                  第二項<select id="myFirstChildSelect">
                                   <option value="">請選擇</option>
                              </select>
                 
                  <script type="text/javascript">
                          $(function () {   
                                 // 第一階層對應第二階層
                                 $('#myFirstChildSelect').cascade('#myParentSelect', {
                                        ajax: {
                                               //所需的後端處理頁面
                                               url:'action.php',
                                               //傳值至後端頁面
                                               data:{ val: $('#myParentSelect').val() }
                                        },
                                        template: function(item) { return "<option value='" +
                                            item.Value + "'>" + item.Text + "</option>"; },
                                        match: function(selectedValue) { return this.When 
                                            == selectedValue; }
                                 });
                          });
                  </script>
    〔action.php〕
            1‧SQL部份我是使用 MDB2 連線,前端所傳遞過來的值需已GET取的
                 ,需特別注意$list部份大小寫及 ' 符號,容易出問題。
                 <?php
                      require_once('include/SQLstore.php'); 
 
                      if (isset($_GET['val'])) {
                           $parentId = $_GET['val'];
                      }
                      
                      $sql = "SELECT id, name FROM table 
                                    WHERE value='$parentId'";
                      
                      $result =& $mdb2 -> query($sql);
                      if (PEAR::isError($result))
                          die('查詢發生錯誤:'.$result -> getMessage());
                                 
                      $predata = $result -> fetchAll();
                      if (PEAR::isError($predata))
                          die('存取資料失敗:'.$predata -> getMessage());
 
                      $list = '[';
                       
                      foreach ( $predata as $row_predata ) {
                           //原始碼 {'When':'A','Value':'A2','Text':'A2'},
                           $list .= '{\'When\':\''.$parentId.'\',\'Value\':\'
                                  '.$row_predata[0].' \',\'Text\':\' '.$row_predata[1].' \'},';
                      }
                         
                      $list .= ']';
                      
                      echo $list;
                 ?>
(繼續閱讀...)
文章標籤

kyosukehot 發表在 痞客邦 留言(0) 人氣(8,956)

  • 個人分類:程式設計 - Javascript
▲top
  • 8月 26 週二 200811:26
  • jQuery + jQuery Cycle Plugin 設定

 
::jQuery::中文官網
 jQuery 這次的試用是我的第一次,話說第一次總是比較痛,這次測試上也花了
不少時間,但畢竟是別人寫好的套件,【沒吃過豬肉也要看過豬走路】老實說
Javascript 我也不太行,使用上僅限於基本功,要自行開發一個Javascript 完整
功能我還差的遠嚕,更不用說看jQuery 程式碼,跟看天書有啥差別,但不會開
發總要會應用,不然也不用出來混了。

    【jQuery Cycle Plugin】官網
            這是這次我主要需要的圖片過場效果,使用上相當方便,只需修改宣告
            素質,就能改變過場效果,要使用jQuery Cycle Plugin需先下載jQuery
            的主程式,有分三類(請至jQuery官網下載):
                1‧下載 jQuery 1.2.6 (16kb, 使用Gzip壓縮與最小化處理 )
                2‧下載 jQuery 1.2.6 (97kb, 未壓縮的)
                3‧下載 jQuery 1.2.6 (30kb, 精簡版)
             jQuery Cycle Plugin程式也一樣分三類:
                1‧jQuery Cycle Plugin with all transitions - compressed (12 KB) 
                2‧jQuery Cycle Plugin with all transitions - minified (17 KB) 
                3‧jQuery Cycle Plugin with all transitions - uncompressed (34 KB) 
             
             jQuery的路徑:
               ﹂  _WWW_
                     ﹂  include
                           ﹂  javascript
                                  ﹂  jQuery
                                       ﹂  jquery-1.2.6.min.js
                                       ﹂  jquery.cycle.all.min.js
             1‧下載jQuery 及 jQuery Cycle Plugin ,自行選擇所需要的版本。
             2‧Include 套件
                   <script type="text/javascript"
                   src="include/javascript/jQuery/jquery-1.2.6.min.js"></script>
                   <script type="text/javascript"
                   src="include/javascript/jQuery/jquery.cycle.all.min.js"></script>
             3‧以範例 Pager demo with an extra link to trigger direct navigation
                   為例, jQuery Cycle Plugin的執行程式碼,將底下程式碼至於
                   <head></head>裡。
                   <script type="text/javascript">
                        $(function() {
                               $('#slideshow').cycle({
                                         fx:     'turnDown',     //過場效果
                                         speed:  'fast',          //轉換速度
                                         timeout: 3000,          //停留時間
                                         pager:  '#nav',          //頁碼
                                         pagerEvent: 'mouseover',     //滑鼠動作判斷
                                         pagerAnchorBuilder: function(idx, slide) {
                                               return '#nav li:eq(' + (idx) + ') a';
                                         }
                                });
                                $('#direct').click(function() {
                                         $('#nav li:eq(2) a').triggerHandler('click');
                                         return false;
                                });
                        });
                   </script>
             4‧css樣式,將底下程式碼至於<head></head>裡。
                   #nav { width: 300px; margin: 15px }
                   #nav li { width: 50px; float: left; margin: 8px; list-style: none }
                   #nav a { width: 50px; padding: 3px; display: block;
                                   border: 1px solid #ccc; }
                   #nav a.activeSlide { background: #88f }
                   #nav a:focus { outline: none; }
                   #nav img { border: none; display: block }
             5‧  #nav裡的圖片可改為文字頁碼,將底下程式碼至於<body>
                     </body>裡。
                   <ul id="nav">
                        <li><a href="#" target="_blank">
                               <img src="images/beach1.jpg" width="50" height="50" />
                               </a></li>
                        <li><a href="#" target="_blank">
                               <img src="images/beach2.jpg" width="50" height="50" />
                               </a></li>
                        <li><a href="#" target="_blank">
                               <img src="images/beach3.jpg" width="50" height="50" />
                               </a></li>
                        <li><a href="#" target="_blank">
                               <img src="images/beach4.jpg" width="50" height="50" />
                               </a></li>
                   </ul>
                   <div id="slideshow" class="pics">
                        <img src="images/beach1.jpg" width="200" height="200" />
                        <img src="images/beach2.jpg" width="200" height="200" />
                        <img src="images/beach3.jpg" width="200" height="200" />
                        <img src="images/beach4.jpg" width="200" height="200" />
                   </div>
(繼續閱讀...)
文章標籤

kyosukehot 發表在 痞客邦 留言(1) 人氣(6,468)

  • 個人分類:程式設計 - Javascript
▲top
1

Still In Love With You

文章分類

  • 程式設計 - PHP (1)
  • 程式設計 - Javascript (2)
  • 主機架設 - Linux (1)
  • 狗狗經 (6)
  • 心情日記 (33)
  • 料理什麼東西(台北美食) (4)
  • 料理什麼東西(台中美食) (8)
  • 料理什麼東西(台南美食) (2)
  • 旅遊什麼東西(推DoDo曬太陽) (1)
  • 旅遊什麼東西(北部之旅) (2)
  • 旅遊什麼東西(中部之旅) (6)
  • 旅遊什麼東西(東部之旅) (0)
  • LOMO LC-A (4)
  • 未分類文章 (1)

近期文章

  • Between 2008 - 2010
  • Z'HENRONG
  • 你奈人生何!豆豆的惡夢
  • 宜蘭跑車收獲
  • 沒事就是福,能吃就是豬
  • Life is like a game of cards
  • The mac pro of future
  • 新郎不是我
  • 蘋果咬幾口!?
  • 買不起Panamera,吃的起BELLINI

參觀人氣

  • 本日人氣:
  • 累積人氣:

個人頭像

kyosukehot
暱稱:
kyosukehot
分類:
美食情報
好友:
累積中
地區: