我的view.py
中有以下数组chapter = 5
number_of_chapters = 5
selected_chapters = list()
for index in range(1, number_of_chapters+1):
selected_chapters.append(index)
return render(request, 'verses.html', {'chapter': chapter, 'selected_chapters': selected_chapters})
但是当我尝试将此列表中的条目与chapter
进行比较时,它永远不会返回true
模板
<select name="c" id="chapter" value="{{ chapter }}" onchange="bible_search(true);">
<option value="1">Chapter</option>
{% for c in selected_chapters %}
<option {% if c == chapter %} selected {% endif %} value="{{ c }}">{{ c }}</option>
{% endfor %}
</select>
我想知道我是否需要将某个字符串转换为某个地方的某个字符串?
答案 0 :(得分:0)
好像你还没有发布完整的代码,因为这对我来说很好。使用您提供的代码,当我导航到从该视图呈现的页面时,我看到select
选择了值5
。我认为你想要的是什么?这告诉我,视图或模板中的其他地方存在一些冲突。
虽然我们在这里,但HTML select
元素没有value
属性,因此应将其删除。其次,您有两个具有相同值的option
元素。这是在浏览器中呈现的HTML。
<select name="c" id="chapter" value="5" onchange="bible_search(true);">
<option value="1">Chapter</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option selected="" value="5">5</option>
</select>