Webbrowser - 从第一个下拉列表中选择项目后更新第二个下拉列表

时间:2011-06-18 14:23:44

标签: c# webbrowser-control

我的目标是在从第一个下拉列表中选择项目后更新第二个下拉列表。任何帮助,将不胜感激。 我无法检测何时在webbrowser控件中启动ajax活动。我在这个帖子中尝试过的指令没有成功,实现了以下类: HTML:

<html>
<Head>
<script type="text/javascript" src="http://myweb.com/scripts/jquery_1.5.js">
</head>
<body>
<select id =”cboCity”>
<option value=”1”> C1 </option>
<option value=”2”> C2 </option>
<option value=”3”> C3 </option>
<select id =”cboDistrict”>
<option value=”1”> D1 </option>
<option value=”2”> D2 </option>
<option value=”3”> D3 </option>
</body>
</html>

C#代码:

System.Windows.Forms.Timer timer1;
HtmlElement city = webbrowser1.doc.GetElementById("cboCity ");
      city.Focus();
      city.SetAttribute("value", "2");
      city.InvokeMember("onchange");

      timer1 = new System.Windows.Forms.Timer();
      timer1.Tick +=new EventHandler(timer1_Tick);
      timer1.Interval = 1000;
      timer1.Enabled = true;
      timer1.Start();

private void timer1_Tick(object sender, EventArgs e)
    {
      HtmlElement district = webbrowser1.doc.GetElementById("cboDistrict");
      district.Focus();
      district.SetAttribute("value", "3");
      district.InvokeMember("onchange");

      timer1.Stop();
      this.timer1.Enabled = false;
    }

2 个答案:

答案 0 :(得分:1)

你可以使用jquery来做到这一点。

$(function() {
    $("#cboCity").change(function() {
        var currentSelection = $(this).val();
//grab the other items
//loop trough them
//inert into $("cboDistrict").html();
    });
});

答案 1 :(得分:0)

为什么不在下拉列表中使用jQuery和更改? http://api.jquery.com/change/