广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 3766 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为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.086088 second(s),query:15 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言