新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > JavaScript > 正文:mshtml:javascript为HTML文件中的Select添加option

mshtml:javascript为HTML文件中的Select添加option

新客网 XKER.COM 2008-10-07 来源:cnblogs 收藏本文
使用结合MSHTML与WebBrowser生成美观实用的WinForm应用程序(By Lostinet)中介绍的方法写程序时遇到的一个问题的解决方法。

在AxSHDocVw.AxWebBrowser控件加载的HTML文件中有一个Select,希望动态从数据库中取得列表内容放到该Select中,要求该Select的Option中显示部门的名称,同时选中某一Option时可以传递对应的部门编号,通过

mshtml.IHTMLElement2 eleSel = (mshtml.IHTMLElement2)doc.all.item("selName", null);
((mshtml.HTMLSelectElementClass)eleSel).innerHTML = "<option ...>..</option>";

是不行的。


尝试用页面中的javascript实现该操作:


1、在Winform窗体中定义一个public类型的字符串变量,用于传递给HTML文档,规定格式为“部门名称1#部门名称2#……;部门编号1#部门编号2#……”,即该字符串(strMoreUnit)的前半部分为部门名称,后半部分为部门编号,部门名称与部门编号之间用";"分隔,部门名称与部门编号内部以"#"分隔。这样的一个字符串很容易由循环在AxSHDocVw.AxWebBrowser控件的DocumentComplete事件中构造(应该使用System.Text.StringBuilder构造以提高效率)。

2、在被加载的HTML文件中定义函数:

function SetMoreUnit()
{
var strMoreUnit = document.MainForm.SetMoreUnit();
if (strMoreUnit != "")
{
var cAll = strMoreUnit.split(";");
var cName = cAll[0].split("#");
var cID = cAll[1].split("#");
for(i=0;i<cName.length;i++)
{
var oOption = document.createElement("OPTION");
selOU.options.add(oOption);
oOption.innerText = cName[i];
oOption.value = cID[i];
}
}
}

Life is like a boat, and I'm at sea.
标签:mshtml   javascript   html   select   option  
收藏】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
【重要声明】:新客网刊载此文仅为提供更多信息的目的,并不代表新客网同意文章的说法或描述,也不构成任何建议,对本文有任何异议,请在上面提出建议。
  • 阅读排行
  • 推荐阅读
  • 随机推荐