Как изменить значение комбобокса в Delphi Tchromium?
Как я могу изменить значение combobox, используя 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 ответ
На нем есть ExecuteJavascript. Таким образом, вы можете манипулировать всем с этим с помощью Javascript.
Если вы хотите изменить это значение поля со списком, измените его с помощью DOM.Get его идентификатор с помощью "document.getElementById", а затем измените его 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, а затем делать то, что вы хотите, открывая и изменяя его свойства.
Извините за мой плохой английский.
отредактированный