如何使用基于先前选择的词典列表填充下拉菜单



我必须让用户从我从数据库中提取的列表中选择档位。

<fieldset>
<label>Wählen Sie Ihre Getriebeart aus: </label>
<select name="typgetr" id="type">
<option value="k">Kegelradgetriebe</option>
<option value="s">Stirnradgetriebe</option>
</select>
</fieldset>

根据此选择,用户可以选择锥齿轮或正齿轮。基于此,我想用下面两个列表中的一个来填充下面的选择(第一个由stri调用,第二个由keri调用(。

[{'name': '4950491', 'typ': 'Ritzel', 'nzahn': 17, 'zahnver': 4.412}, {'name': '4559693', 'typ': 'Ritzel', 'nzahn': 18, 'zahnver': 4.39}, {'name': '4960360', 'typ': 'Ritzel', 'nzahn': 18, 'zahnver': 4.5556}, {'name': '4960346', 'typ': 'Ritzel', 'nzahn': 20, 'zahnver': 3.5}, {'name': '4960377', 'typ': 'Ritzel', 'nzahn': 19, 'zahnver': 3.53}, {'name': '4960356', 'typ': 'Ritzel', 'nzahn': 19, 'zahnver': 3.53}, {'name': '4960348', 'typ': 'Ritzel', 'nzahn': 19, 'zahnver': 3.53}, {'name': '4960314', 'typ': 'Ritzel', 'nzahn': 20, 'zahnver': 3.05}]
[{'name': '4950428', 'typ': 'Ritzel', 'nzahn': 11, 'zahnver': 3.3636}, {'name': '4447822', 'typ': 'Ritzel', 'nzahn': 11, 'zahnver': 2.5455}, {'name': '4936736', 'typ': 'Ritzel', 'nzahn': 11, 'zahnver': 2.55}, {'name': '4564106', 'typ': 'Ritzel', 'nzahn': 9, 'zahnver': 4.778}]

<fieldset>
<label>Geben Sie Ritzelwelle und Zahnrad der <strong>ersten</strong> Getriebestufe ein: </label>
<select name="zr12" id="zr12">
{% for i in keri %}
<option value="{{i.name}}">{{i.typ}}: {{i.name}}</option>
{% endfor %}
</select>
</fieldset>

我只想显示每个齿轮的名称,并将其作为值传递回python。其他项目也可以稍后使用。我已经看了一些例子,但我不会写javascript函数。

您必须使用ajax调用。

您必须设置<select name="typgetr" id="type">的更改事件。您向Url发送ajax调用,该Url将包含所选选项的id,例如:localhost/example?id=1

然后,您在Django上获得作为get请求的id param,并根据用户选择的选项返回选择列表(html(,然后使用javascript 在dom中渲染

最新更新