如何在Delphi Tchromium中改变组合框的价值?

时间:2013-03-12 06:34:47

标签: delphi tchromium

如何使用Tchromium Delphi更改组合框的值? 版本Tchromimum DCEF3

<td class="droplabels" nowrap="nowrap">Лист</td>
<td colspan="3">
   <div class="ui-widget">
      <select id="sheet" name="sheet" style="font-size:0.7em;width:761px;" 
         class="form_select" onchange="showSheet(this.value);">
             <option value="1" selected="selected">Account List </option>
             <option value="2">Merchant list</option>
      </select>
   </div>
</td>

尝试这个但没有奏效...... Chromium1.Browser.MainFrame.ExecuteJavaScript('document.getElementById("sheet").selectedIndex=2;', 'about: blank', 0); Chromium1.Browser.MainFrame.ExecuteJavaScript('document.getElementById("providerField").onchange();', 'about: blank', 0);

1 个答案:

答案 0 :(得分:0)

上面有一个ExecuteJavascript。因此,您可以使用Javascript操纵其中的所有内容 如果要更改组合框值,请使用DOM更改它。使用“document.getElementById”获取其id,然后通过访问selectedIndex来更改其selectedIndex。 但是,这不会触发onChange事件。 因此,您需要再次使用javascript手动调用它。

这是改变它的selectedIndex:

的代码
Chromium1.Browser.MainFrame.ExecuteJavaScript('document.getElementById("sheet").selectedIndex='+comboboxIndex+';', 'about: blank', 0);

手动触发onChange事件:

Chromium1.Browser.MainFrame.ExecuteJavaScript('document.getElementById("providerField").onchange();', 'about: blank', 0);    

将Chromium1更改为TChromium变量对象名称。

以下是有关选择
的更多信息 http://www.w3schools.com/jsref/dom_obj_select.asp

如果您对DOM一无所知,请在此处阅读 http://www.w3schools.com/htmldom/default.asp 简单来说,您只需要获取它的DOM对象,然后通过访问和修改其属性来执行您想要的操作

抱歉我的英语不好 编辑