网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网页制作 > Javascript
网页制作:Dreamweaver教程,FrontPages教程,Javascript教程,HTML教程,CSS教程,心得技巧,DHTML教程,网页特效,Discuz!论坛
本月文章推荐
.Javascript获取某一标签的座标并.
.javascript节点操作DOMDocument属.
.Js之软键盘实现(源码) .
.Javascript设计漫天雪花.
.javascript中replace()用法详解.
.通过JAVAScript实现页面自适应.
.javascript+xml实现二级下拉菜单.
.总结showModalDialog和showModel.
.来自Google的密码强度Javascript.
.JavaScript控制鼠标滑轮事件.
.JavaScript拖放效果分析.
.仿Office 2003的工具条.
.Javascript实现页内查找关键词实.
.现有的Web打印控制技术分成几种方.
.javascript 获得客户端硬件信息.
.利用JavaScript制作倒计时牌.
.怎样从 Javascript 传递一个变量.
.Javascript实例教程(11) 隐藏scr.
.用javascript的ShowModalDialog(.
.关于javascript判断文件大小.

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

发表日期:2008-10-7


原文地址:http://www.cnblogs.com/waxdoll/archive/2005/04/03/131151.html
使用结合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.

上一篇:JavaScript与ActionScript函数相互调用 人气:778
下一篇:javascript获取随机整数 人气:837
浏览全部javascript的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐