廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3783 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
kimopig
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x1
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[HTML][求助] 下拉選單出現問題
可以幫我看看上面這個網頁有什麼地方錯了
找好久還是看不出那裡錯了
只要選cat2再選小類就會出現
'length'是null 或不是一個物件
但是選cat1就正常了

複製程式
<html>
<head>


<style type="text/css">
<!--
.style1 {
       color: #CCCCCC;
       font-size: 12px;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
</head>

<body>

<!--
.style1 {font-weight: bold}
.style2 {font-weight: bold}
-->
</style>
<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>  
  <p>
<html><head><script>
var getData = function(){
var sel = [
  [1,"cat1",
    [1,"subcat1",
      [1,"product1"],
      [2,"product2"]
    ],
    [2,"subcat2",
      [3,"product3"],
      [4,"product4"]
    ]
  ],
  [2,"cat2",
    [3,"subcat3",
      [5,"product5"],
      [6,"product6"]
    ],
    [4,"subcat4",
      [7,"product7"],
      [8,"product8"]
    ]
  ],
  [3,"cat3",
    [5,"subcat5",
      [9,"product9"],
      [10,"product10"]
    ],
    [6,"subcat6",
      [11,"product11"],
      [12,"product12"]
    ]
  ],
  [4,"cat4",
    [7,"subcat7",
      [13,"product13"],
      [14,"product14"]
    ],
    [8,"subcat8",
      [15,"product15"],
      [16,"product16"]
    ]
  ]
];
return sel;
}
</script>
</head>
<link rel="stylesheet" type="text/css" href="resources/css/ext-all.css" />  
<script type="text/javascript" src="adapter/ext/ext-base.js"></script>  
<script type="text/javascript" src="ext-all.js"></script>
<script type="text/javascript" src="jquery/jquery.js"></script>
<script type="text/javascript" src="jquery/jquery.cascade.js"></script> 
<script type="text/javascript" src="jquery/jquery.cascade.ext.js"></script> 
<script type="text/javascript" src="jquery/jquery.templating.js"></script>
<link rel="stylesheet" type="text/css" href="css/ext-all.css">
<form id="form2" method="post">  
<h3>表單範例</h3>
<table width="97%" border="2">
  <tr>
    <th width="22%" scope="col"><div align="center"><b>大類名稱</b></div></th>
    <th width="22%" scope="col"><div align="center"><b>小類名稱</b></div></th>
    <th width="22%" scope="col"><div align="center"><b>產品名稱</b></div></th>
    
  </tr>
  <tr>
    <th scope="row"><div align="center">
       
      <select name="cat" id="cat_id" onChange="SELCTL.changecat(this)">
       <option value="0">請選擇大類名稱</option>
</select>
    </div></th>
    <td><div align="center">
         <select name="subcat" id="subcat_id" onChange="SELCTL.changesubcat(this)">
       <option value="0">請選擇小類名稱</option>
</select>     
    </div></td>
    <td><div align="center">
      <select name="product" id="product_id" onChange="SELCTL.changeproduct(this)">
       <option value="0">請選擇產品名稱</option>
</select>
    </div></td>
    </tr>
  <tr>
    <th scope="row"><div align="center">
      <input type="button" name="Submit" value="新增大類名稱">
    </div></th>
    <td><div align="center">
      <input type="button" name="Submit4" value="新增小類名稱">
    </div></td>
    <td><div align="center">
      <input type="button" name="Submit7" value="新增產品名稱">
    </div></td>
  </tr>
  <tr>
    <th scope="row"><div align="center">
      <input type="button" name="Submit2" value="修改大類名稱">
    </div></th>
    <td><div align="center">
      <input type="button" name="Submit5" value="修改小類名稱">
    </div></td>
    <td><div align="center">
      <input type="button" name="Submit8" value="修改產品名稱">
    </div></td>
  </tr>
  <tr>
    <th scope="row"><div align="center">
      <input type="button" name="Submit3" value="刪除大類名稱">
    </div></th>
    <td><div align="center">
      <input type="button" name="Submit6" value="刪除小類名稱">
    </div></td>
    <td><div align="center">
      <input type="button" name="Submit9" value="刪除產品名稱">
    </div></td>
    </tr>
</table>
<p> </p>
</form>  
<script>
(function(){
       var sel = getData();
       var target = document.getElementById("cat_id");
       target.innerHTML = "";
       var tmp = document.createElement("option");
       tmp.value = 0;
       tmp.appendChild(document.createTextNode("請選擇大類名稱"));
       target.appendChild(tmp);
       for (var i =0; i<sel.length; i++) {
              tmp = document.createElement("option");
              tmp.value = sel[i][0];
              tmp.appendChild(document.createTextNode(sel[i][1]));
              target.appendChild(tmp);
       }
})();
var SELCTL = {
changecat : function(obj) {
       this.selcat = obj.value;
       if(obj.value>0) {
              var sel = getData();
              var target = document.getElementById("subcat_id");
              target.innerHTML = "";
              var tmp = document.createElement("option");
              tmp.value = 0;
              tmp.appendChild(document.createTextNode("請選擇小類名稱"));
              target.appendChild(tmp);
              for (var i=2; i<sel[this.selcat-1].length; i++) {
                     tmp = document.createElement("option");
                     tmp.value = sel[this.selcat-1][i][0];
                     tmp.appendChild(document.createTextNode(sel[this.selcat-1][i][1]));
                     target.appendChild(tmp);
              }
       }
},
changesubcat : function(obj) {
       this.selsubcat = obj.value;
       if(obj.value>0) {
              var sel = getData();
              var target = document.getElementById("product_id");
              target.innerHTML = "";
              var tmp = document.createElement("option");
              tmp.value = 0;
              tmp.appendChild(document.createTextNode("請選擇產品名稱"));
              target.appendChild(tmp);
              for (var i=2; i<sel[this.selcat-1][this.selsubcat-(-1)].length; i++) {
                     tmp = document.createElement("option");
                     tmp.value = sel[this.selcat-1][this.selsubcat-(-1)][i][0];
                     tmp.appendChild(document.createTextNode(sel[this.selcat-1][this.selsubcat-(-1)][i][1]));
                     target.appendChild(tmp);
              }
       }
},
changeproduct : function(obj) {
       this.selproduct = obj.value
       if(obj.value>0) {
              alert(obj.value);
       }
},
selcat:0,
selsubcat:0,
selproduct:0
};
</script>
</body>
</html>



獻花 x0 回到頂端 [樓 主] From:臺灣中華HiNet | Posted:2008-10-25 01:28 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.078240 second(s),query:15 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言