如何使用VBScript更新选定的下拉列表值

时间:2016-05-25 19:45:55

标签: html .net drop-down-menu vbscript

我正在尝试更改InternetExplorer.Application上的下拉列表选择,然后保存该选择。我到目前为止的代码是

dim myValue
myValue="3"

for j = 0 to obj.Options.length - 1
    if(obj.Options(j).Value = myValue) then
        obj.Options(j).selected = true
        exit for
    end if
next

这适用于当前页面下拉列表,但是当我点击保存时,值" 3"没有保存,当我重新加载页面时它恢复到原来的值。

另外需要提及的是,当我手动时,点击下拉列表并选择一个值然后保存,当我重新加载页面时,更新为新值。我已经尝试了obj.click函数,但我不相信程序化鼠标点击就像使用动作监听器实际鼠标点击一样。

我的猜测是与新值选择和页面的动作侦听器之间的数据绑定有关。我对vbscript很新,并尝试过各种不同的东西。

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

假设您已正确设置obj个对象,例如就像是
set obj = ie.document.getElementById("my_dropdown")然后您应该确保只选择了一个选项

for j = 0 to obj.Options.length - 1
    if (obj.Options(j).Value = myValue) then
        obj.Options(j).selected = true            ''' do not exit for
    else
        obj.Options(j).selected = false
    end if
next

For Each opt In obj.Options
    If opt.Value = myValue Then
        opt.Selected = True
    Else
        opt.Selected = False
    End If
Next

警告:上面的代码段可能导致(不希望的?)没有选项仍然被选中的情况!