更改下拉列表的值

本文关键字:下拉列表 | 更新日期: 2023-09-27 18:01:13

我正在尝试使用click事件处理程序上的以下代码更改下拉列表的值。按下按钮时,实际上没有任何变化。我错过了什么?这样做正确吗?

HtmlDocument document = webBrowser1.Document;
HtmlElement salutation = document.GetElementById("status");
salutation.SetAttribute("value", "Mr");

这是html

<select id="status">
<option selected="selected" value="">Select</option>
<option value="Mr">Mr.</option>
<option value="Mrs">Mrs.</option>
</select>

更改下拉列表的值

您可以尝试这个(基于您的代码(

      HtmlDocument document = webBrowser1.Document;
        HtmlElement salutation = document.GetElementById("status");
        var option = salutation.Children.Cast<HtmlElement>().First(x => x.GetAttribute("value").Equals("Mr"));
        option.SetAttribute("selected", "selected");

您是否选择了<select>标记?如果是这样,就不要使用它。选择<option>,如下所示:

<select>
  <option value="volvo">Volvo</option>
  <option value="saab" selected="selected">Saab</option>
  <option value="vw">VW</option>
  <option value="audi">Audi</option>
</select>

要查看它的实际操作:请参阅此链接

使用scartag中的一些代码,怎么样:

HtmlElement salutation = document.GetElementById("status");
var option = salutation.Children.Cast<HtmlElement>().
             Where(x => x.GetAttribute("selected").Equals("selected")).First();
if (option != null) option.SetAttribute("value","Mr,");