老问题,快来帮忙解决。检索xml!

mgwms 2003-05-22 12:17:58
xml文件如下:
<root>
<rows Product_Id="1" Product_Code="ISBN: 1-58861-075-6" CEPC_No="ISBN: 1-58861-075-6" Product_Name="AAPG Bulletin on CD1990-1999"/>
<rows Product_Id="2" Product_Name="AAPG Data_ROM 1993: More than 400,000 well records on a CD-ROM:"/>
<rows Product_Id="3" Product_Name="The Arabian Plate: Producing Fields and Other Undeveloped Hydrocarbon Discoveries (1991). (Digital Map)"/>
<rows Product_Id="4" Product_Code="1-58861-179-5" CEPC_No="1-58861-179-5" Product_Name="Petroleum Basins of South America"/>
<rows Product_Id="5" Product_Name="Bally Seismic Atlas Series:Seismic Expression of Structural Styles, Studies in Geology 15 (3 vols., 1 disc)"/>
<rows Product_Id="6" Product_Name="Combined Index on CD-ROM (2000 edition)."/>
<rows Product_Id="7" Product_Name="Gulf of Mexico Type Well File"/>
<rows Product_Id="8" Product_Name="International Developments in Exloratory Drilling(AAPG) 1950-1990"/>
</root>
问题:
请用javascript实现如下功能:
页面有一个textbox 和一个select 控件:
根据textbox的值来查询,结果添加到select 控件中。
如:textbox的值为:a ,把所有的Product_Name 以a开头的行添加到select 中
...全文
5 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wd_318 2003-05-22
原来是Product_ID应该写成Product_Id ???不好意思,没看仔细哈
回复
caoit 2003-05-22
study!
回复
mgwms 2003-05-22
theNode[i].attributes.getNamedItem("Product_ID").value;
缺少对象
回复
wd_318 2003-05-22
给XML设一个ID,格式如下:
<XML ID="MyXML" >
<root>
......
</root>
</XML>

给textbox的change事件加一个函数:

function TextOnChange()
{
var objDom = document.all.MyXML;
var inputvalue=document.all.TextBoxID.value; //TextBox控件的ID假设为TextBoxID
var SelectID = document.all.SelectID; //select控件的ID假设为SelectID

theNode=objDom.selectNodes("/root/rows");

SelectID.options.length=0;


for(i=0;i<theNode.length;i++)
{
Product_ID=theNode[i].attributes.getNamedItem("Product_ID").value;
Product_Name=theNode[i].attributes.getNamedItem("Product_Name").value;
if(Product_Name.substr(1,inputvalue.length)==inputvalue)
{
SelectID.options[SelectID.options.length]=new Option(Product_ID,Product_Name);
}
}
}

//上面Product_Name.substr(1,inputvalue.length)这个表达式,不知道是不是正确,因为取子串不知道是从1开始还是从0开始的,我不记得了,你自己试试看吧
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2003-05-22 12:17
社区公告
暂无公告