gpt4 book ai didi

DELPHI + TWEbbrowser - 将选项和值附加到现有的 SELECT 中

转载 作者:行者123 更新时间:2023-12-03 03:47:34 26 4
gpt4 key购买 nike

在网页上,我有一个空的选择框:

<select id="select" >
</select>

从我的 Delphi(7 enterprise/XP - sp(3))中,我想将 N OPTION(s) 和 VALUE(s) 放入该选择中。

N 从服务器获取,可以是 1 到 150 之间的任意数字:

像这样:

只有在运行时我才能知道 N 的精确值(在不同的运行中可能会发生变化 - 这里 n = 5):

DELPHI:

For N := 0 to 5 DO
PutIntoSelect('option' + inttostr(n), 'value' + inttostr(n));

所以结果将是:

HTML:

<select id="select" >
<option = '0'>value0</option>
<option = '1'>value1</option>
<option = '2'>value2</option>
<option = '3'>value3</option>
<option = '4'>value4</option>
<option = '5'>value5</option>
</select>

我该怎么做?

我研究了 IHTMLSELECTelement,但找不到有用的东西。

最佳答案

这非常简单。您只需获得一个选项元素工厂并调用 create实例化一个新选项。然后您可以通过 add 添加返回的选项您选择元素的方法。

这段代码展示了如何操作,但是它不安全!你应该把它分解成碎片,当你要求引用时,检查所要求的是否被分配,所以以下面的原则为例:

procedure TForm1.Button1Click(Sender: TObject);
var
Option: IHTMLOptionElement;
Select: IHTMLSelectElement;
Factory: IHTMLOptionElementFactory;
begin
Select := (WebBrowser1.Document as IHTMLDocument3).getElementById('select') as IHTMLSelectElement;
Factory := (WebBrowser1.Document as IHTMLDocument2).parentWindow.Option;

Option := Factory.create('Option 1', 'Value 1', False, True);
Select.add(IHTMLElement(Option), Unassigned);
Option := Factory.create('Option 2', 'Value 2', False, False);
Select.add(IHTMLElement(Option), Unassigned);
end;

您可以使用的 HTML:

<!DOCTYPE html>
<html>
<body>
<select id="select"/>
</body>
</html>

关于DELPHI + TWEbbrowser - 将选项和值附加到现有的 SELECT 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46192905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com