在javascript中我看到以下定义:
$('#dropDownId').change(function(){
... do stuff...
});
<select id="dropDownId">
<option value="1">value 1</option>
<option value="2">value 2</option>
<option value="3">value 3</option>
</select>
我尝试使用以下代码:
webBrowser.Document.GetElementById("dropDownId").SetAttribute("value", "1");
webBrowser.Document.GetElementById("dropDownId").Children[1].SetAttribute("selected", "selected");
webBrowser.Document.GetElementById("dropDownId").InvokeMember("onchange");
我可以看到下拉列表被更改为正确的值,但以下内容永远不会被执行:
$('#dropDownId').change(function(){
... do stuff...
});
另外,当我在Chrome中查看“dropDownId”的属性时,“onchange”事件为空,那么如何为下拉列表调用上述“更改”脚本?
答案 0 :(得分:2)
jquery
附加事件以允许多个事件处理程序,这就是onchange
的{{1}}属性为空的原因。
你可以这样做:
select
或
function myChange(){
... do stuff...
}
<select id="dropDownId" onchange="myChange">
...
</select>
或
webBrowser.Document.InvokeScript("myChange");