如何使用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);
答案 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对象,然后通过访问和修改其属性来执行您想要的操作
抱歉我的英语不好 编辑