现在我有一个Django显示的表单列表:
{% for form in forms %}
<form method="post" class="{{ form.css_class }}"novalidate>
{% csrf_token %}
{% include 'bs4_form.html' with form=form %}
<input type="hidden" name="selected_form" value="{{ forloop.counter0 }}">
<button type="submit" class="btn btn-primary">Submit</button>
</form>
{% endfor %}
我还有一个下拉列表显示在表单上方:
<label>Choose a component to modify:
<select class="rule-component" name="component">
<option value="">Select One …</option>
<option value="0">Option 0</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
</label>
我的问题是,当页面被输入时,我将如何显示没有表单,而当选择该页面时,如何显示与下拉列表值对应的单个表单
我尝试过使用JavaScript,但我对它不是很熟悉,也不知道如何让它与django模板语言交互。下面的代码允许我通过链接forloop.counter来记录要显示的表单元素:
<script type="text/javascript">
const formElement = document.querySelector(".rule-component")
formElement.addEventListener('change', (event) => {
const selectElement = document.querySelector("form input[value='" + formElement.value + "']").parentNode;
console.log(selectElement)
const result = document.querySelector('.result');
result.textContent = `You like ${selectElement.className}`;
});
</script>```
我发现,只是一些JavaScript需要链接到一个数组,“ids”和Django表单中的css_类:
相关问题 更多 >
编程相关推荐