2

如何使用 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);

4

1 回答 1

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 变量对象名称。

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

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

对不起,我的英语不好。
已编辑

于 2013-03-14T05:59:35.983 回答