Changeset 68 for oceandb


Ignore:
Timestamp:
Mar 4, 2009, 4:57:12 PM (15 years ago)
Author:
jazz
Message:
  • 單一選項可以正常顯示跟移除
Location:
oceandb/jQuery_Prototype
Files:
1 added
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • oceandb/jQuery_Prototype/admin/map-menu.php

    r65 r68  
    11<?
    2   require_once('db-config/connect-mysql.php');
     2  require_once('../db-config/connect-mysql.php');
    33  $query = "SELECT DISTINCT data_type.serial AS type_id, data_type.parent_id, data_type.name AS TYPE , maincase_new.owner_org FROM data_type, maincase_new, maincase_detail WHERE maincase_detail.maincase_id = maincase_new.serial AND maincase_detail.type_id = data_type.serial ORDER BY type_id, owner_org";
    44  if ($database_connect) mysql_select_db($database_connect) or die('USE '.$database_connect.' failed!');
  • oceandb/jQuery_Prototype/script/oceandb.js

    r66 r68  
     1var map;  // Google Map2 物件
     2
    13// 註冊 onReady Event
    24// 參考: http://docs.jquery.com/Events
     
    1820    //     故用 type_id 來判斷第一次出現的 type_id 產生新的 DOM
    1921    var type_id = -1;
     22    var count = 1;
    2023    $.each(json, function(i, item){
    2124      // 確認 type_id 是否存在,否則產生一個新的 DOM
     
    2730            + "'></ul><br/></div></div>");
    2831  type_id = item.type_id;
     32  // 當產生新的 DOM 時,把計數回歸到 1 產生 map-menu-type_id-count 的 id
     33  count = 1;   
    2934  $("#map-menu-" + item.type_id).append("<li><input type='checkbox'>"
    3035           + "<font color='red'><b>=== 以下全選 ===</b></font>"
     
    3843      }
    3944      // 根據 type_id 逐一加入 owner_org
    40       $("#map-menu-" + item.type_id).append("<li><input type='checkbox'>"
     45      $("#map-menu-" + item.type_id).append("<li><input type='checkbox' id='map-menu-"
     46         + item.type_id + "-" + count +"'>"
    4147         + item.owner_org + "</input></li>");
    4248
    43       // TODO: 定義 checkbox checked 跟 unchecked 對應的處理函式
     49      // 定義 checkbox checked 跟 unchecked 對應的處理函式
     50      $("#map-menu-" + item.type_id + "-" + count).click(function(){
     51  var checked;
     52  if(this.checked){ checked=true; } else { checked=false; }
     53  $.ajax({
     54    type: "GET",
     55    url:  "data/get_data.php",
     56    data: "type_id=" + item.type_id + "&owner_org=" + item.owner_org ,
     57    success: function(data){
     58      //alert(data);
     59      var json = eval(data);
     60      $.each(json,function(i,item){
     61        if(checked) {
     62    map.addOverlay(new GMarker(new GLatLng(item.loc1_lat, item.loc1_lon)));
     63        } else {
     64    map.clearOverlays();
     65        }
     66      });
     67    }
     68  });
     69      });
     70
     71      // 把計數加 1
     72      count = count + 1;
    4473    });
    4574
     
    82111{
    83112  if (GBrowserIsCompatible()) {
    84     var map = new GMap2(document.getElementById("map"));  // 取得 DOM 中,名稱為 map 的元件
     113    map = new GMap2(document.getElementById("map"));  // 取得 DOM 中,名稱為 map 的元件
    85114    map.addControl(new GLargeMapControl());               // 加入左上角比例尺規控制列
    86115    map.addControl(new GScaleControl());                  // 加入左下角比例尺狀態列
Note: See TracChangeset for help on using the changeset viewer.