联级下拉选择框IE5不能实现,求救。

???2008 2004-11-15 02:41:59
function bindBigCategory(BigCategory)
{
var sl_BigCategory = document.getElementById(BigCategory)
var BigCategory = new Array("安全、防护");

var _opt = document.createElement("OPTION");
_opt.value = "-1";
_opt.text = "请选择大类";
sl_BigCategory.add(_opt);

for(var i = 0; i < BigCategory.length; i ++)
{
var opt = document.createElement("OPTION");
opt.value = i;
opt.text = BigCategory[i];
sl_BigCategory.add(opt);
}
return;
}

function bindSmallCategory(BigCategory, SmallCategory)
{
var BigCategoryCode = document.getElementById(BigCategory).value;

var sl_SmallCategory = document.getElementById(SmallCategory);
while(sl_SmallCategory.length > 0)
{
sl_SmallCategory.options.remove(0);
}

var SmallCategory = new Array(
new Array("锁具", "保险柜"),
new Array("纸浆", "文化用纸")
)
var _opt = document.createElement("OPTION");
_opt.value = "-1";
_opt.text = "请选择小类";
sl_SmallCategory.add(_opt);

if(BigCategoryCode != "-1")
{
for(var i = 0; i < SmallCategory[BigCategoryCode].length; i ++)
{
var opt = document.createElement("OPTION");
opt.value = i;
opt.text = SmallCategory[BigCategoryCode][i];
sl_SmallCategory.add(opt);
}
}

return;
}

<SELECT id="sl_BigCategory" onchange="bindSmallCategory('sl_BigCategory', 'sl_SmallCategory');" name="sl_BigCategory">
<SCRIPT type="text/javascript">
bindBigCategory("sl_BigCategory");
</SCRIPT>
</SELECT>


<SELECT id="sl_SmallCategory" name="sl_SmallCategory">
<SCRIPT type="text/javascript">
bindSmallCategory("sl_BigCategory", "sl_SmallCategory");
</SCRIPT>
</SELECT>

以上脚本在IE6中可以运行,在IE5中就无法运行,我把sl_BigCategory.add(_opt);中的add改成appendChild,在firefox中可以运行,但是在IE6中不可以运行.但是sl_SmallCategory.options.remove(0);在firefox中报错说remove不是函数.

我想在IE5,IE6以及firefox中都能运行.请问该怎么写?

...全文
123 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
???2008 2004-11-16
  • 打赏
  • 举报
回复
up
???2008 2004-11-15
  • 打赏
  • 举报
回复
我想问的是在IE5中加入生成的OPTION对象是用什么方法?IE6中是用add();firefox中是用appendChild(); IE5和firefox中是怎么移除对象,IE6中用options.remove().IE5和firefox呢?
???2008 2004-11-15
  • 打赏
  • 举报
回复
<%While NOT Rs_class.EOF%>
<option value="<%=Rs_class.Fields.Item("fldauto").Value%>"><%=Rs_class.Fields.Item("fldname").Value%></option>
<%Rs_class.MoveNext()
Wend
%>
你这一段是由程序生成的.我的和你的不一样,我的全部是从脚本数据中读取.
fason 2004-11-15
  • 打赏
  • 举报
回复
http://fason.nease.net/samples/select/
alern_zyb 2004-11-15
  • 打赏
  • 举报
回复
这个都可以的,我已经测试过了,你研究一下
<script language="javascript">
function listoption(src){
var obj = document.class3.fldclass2
removeoption(obj)
document.getElementById("list").src = "listup.asp?lfldno=" + src.value
}
function removeoption(obj){
var len=obj.options.length
var i=len-1
for(i;i>=0;i--){
obj.options[i]=null
}
}
function additem(i,val, txt){
document.class3.fldclass2.options[i] = new Option(txt,val);
}
</script>


<tr>
<td colspan="0" width="" class="Table_InSide"><div align="left">新闻大类 </div></td>
<td colspan="0" width="" class="Table_InSide"><div align="left">
<select name="fldclass" onchange="listoption(this)">
<option value="">--请选择--</option>
<%While NOT Rs_class.EOF%>
<option value="<%=Rs_class.Fields.Item("fldauto").Value%>"><%=Rs_class.Fields.Item("fldname").Value%></option>
<%Rs_class.MoveNext()
Wend
%>
</select>
 </div></td>
</tr>
<tr>
<td colspan="0" width="" class="Table_InSide"><div align="left">新闻2类 </div></td>
<td colspan="0" width="" class="Table_InSide"><div align="left">
<select name="fldclass2">
<option value="">--请选择--</option>
</select>
 </div></td>
</tr>
<iframe id="list" name="list" src ="" style="DISPLAY: none"></iframe>


listup.asp

<%
s_bh=cstr(request("lfldno"))
Dim Rs_class2
Set Rs_class2 = Server.CreateObject("ADODB.Recordset")
Rs_class2.ActiveConnection = CM_unnamedDatabase
Rs_class2.Source = "SELECT fldauto, fldname FROM class2 WHERE fldclass=" + s_bh
Rs_class2.CursorType = 0
Rs_class2.CursorLocation = 2
Rs_class2.LockType = 1
Rs_class2.Open()
i=1
%>
<Script language=JavaScript>
<%While NOT Rs_class2.EOF%>
parent.additem(<%=i-1%>,"<%=Rs_class2.Fields.Item("fldauto").Value%>","<%=Rs_class2.Fields.Item("fldname").Value%>");
<%i=i+1
Rs_class2.MoveNext()
Wend%>
</Script>
<%
Rs_class2.close()
Set Rs_class2 = Nothing
%>

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧