代码如下<SELECT onchange="selectChange1(this, arrGameItem1Val, arrGameItemsName);" name=gameChoice><OPTION value="" selected>選擇遊戲</OPTION><OPTION style="COLOR: green" value=0>==測試遊戲==</OPTION> <OPTION style="COLOR: green" value=2599>Sting</OPTION> <OPTION style="COLOR: green" value=2602>誅仙</OPTION> <OPTION style="COLOR: green" value=2537>魔域</OPTION> <OPTION style="COLOR: green" value=2574>紅暗殺</OPTION> <OPTION style="COLOR: green" value=2584>泡麵三國</OPTION> <OPTION style="COLOR: blue" value=0>==熱門遊戲==</OPTION> <OPTION style="COLOR: blue" value=2000>R2</OPTION> <OPTION style="COLOR: blue" value=772>亂</OPTION> <OPTION style="COLOR: blue" value=2180>勇</OPTION> <OPTION style="COLOR: blue" value=109>希望</OPTION> <OPT

解决方案 »

  1.   

    vHTMLElement3.fireEvent('onchange', EmptyParam, vCancelled);
      

  2.   

    还有种方法:直接调用javascript,参考如下代码:
    uses mshtml;procedure TForm1.Button1Click(Sender: TObject);
    var
      vHtmlDocument: IHtmlDocument2;
    begin
      vHtmlDocument := WebBrowser1.Document as IHtmlDocument2;
      vHtmlDocument.parentWindow.execScript(
        'var select = document.getElementById("gameChoice");select.onchange();',
        'javascript');
    end;
      

  3.   

    谢谢上面的大哥,我这样
    (WebBrowser1.Document as IHTMLDocument2).parentWindow.execScript('selectChange1(this, arrGameItem1Val, arrGameItemsName);','javascript')是没成功的,我用你的方法试下.HTML代码选则一个游戏后,会反回这个游戏下的分区,,我直接用WEBBROWSER改变VALUE的值,但是根本返回分区,只有通过鼠标选的才返回,我想可能就是没有触发这个事件,不知道我想的对不对...
      

  4.   

    上面的大哥,vHTMLElement3.fireEvent('onchange', EmptyParam, vCancelled);这句代码不行啊,能写全下么
      

  5.   


     WebBrowser1.OleObject.document.all.item('gameChoice',0).selectedIndex:=3;//选择第4项的写法。
     WebBrowser1.OleObject.document.all.item('gameChoice',0).fireEvent('onchange');//触发修改事件。当然,还有其它方法呢。动态调用网页里面的函数也是可以的哦。
      

  6.   

    onchange事件触发完了,下边的因onchange时间而关联的下拉列表没法显示想要的值,赋值一闪而过最终显示的是第一项的值,这是为啥呢??