我正在尝试设置下拉框的值,它显示一个空白甚至不是一个选项。
这是HTML剪辑:(注意:内部网站所以我不能提供URL或太多)
<select id="entNo" name="entNo" style="width:75px">
<option selected="selected" value="All">All</option>
<option value="650101">650101</option>
<option value="66">66</option>
这是它的功能。
function requestEntities()
{
var ele = document.getElementById('entNo');
if (ele) {
ele.options.length = 0;
ele.options[0] = new Option('All');
ele.disabled = true;
ele = document.getElementById('divNo');
if (ele) {
var i = ele.selectedIndex;
var div = ele.options[i].value;
sendHttpRequest('http://example.com/cgi-bin/wspd_cgi.sh/WService=wslive//wpr/entityList.r?div=' + div);
}
}
}
我使用的vba代码是:
Set objCollection = ie.document.getElementsByTagName("select")
'Debug.Print objCollection.Length
i = 1
While i < objCollection.Length 'Loop to locate and change the fields with proper data using the "select" tags
Debug.Print objCollection(i).Value
If objCollection(i).Name = "entNo" Then
If ecode <> "" Then
Debug.Print objCollection(i).Value
objCollection(i).Value = ecode
End If
ElseIf objCollection(i).Name = "curStatus" Then
objCollection(i).Value = "Open"
ElseIf objCollection(i).Name = "opStatus" Then
objCollection(i).Value = "All"
End If
i = i + 1
Wend
我不能给予更多,因为这是为了工作。我已经用尽谷歌搜索了 另一件奇怪的事情是,当我单步时它会起作用。否则就行不通。 任何建议都将不胜感激。
答案 0 :(得分:1)
暂时忽略计时问题,您的代码会更容易:
If ecode <> "" Then ie.document.getElementById("entNo").Value = ecode
ie.document.getElementById("currStatus").Value = "Open"
ie.document.getElementById("opStatus").Value = "All"
由于您的select元素似乎具有id属性。