<p>如果你想在JS里做,这就是我解决问题的方法。在</p>
<p>首先为2个选择列表创建一个包含以下内容的模板。在</p>
<pre><code><html>
<head>
<script>
var json = {
"Chevy": ["chev1", "chev2", "chev3"],
"Dodge": ["dodge1", "dodge2", "dodge3"],
"Ford": ["ford1", "ford2", "ford3"]
};
function carMake () {
select = document.getElementById('slct1');
select.options.length = 0;
for(make in json) {
select.options[select.options.length] = new Option(make, make);
}
}
function carModel(sel) {
var car_make = sel.options[sel.selectedIndex].value
select = document.getElementById('slct2');
select.options.length = 0;
for(var i=0;i<json[car_make].length;i++) {
select.options[select.options.length] = new Option(json[car_make][i], i);
}
}
</script>
</head>
<body>
Choose Car Make:
<select id="slct1" onchange="carModel(this)"></select>
<script> carMake(); </script>
Choose Car Model:
<select id="slct2" name="slct2"></select>
</body>
</html>
</code></pre>
<p>当动态填充的Car Model select字段发生更改时,上面的JS将读入JSON对象并更新Car Make。在</p>
<p>要使用提供的模型生成JSON对象,需要执行以下操作:</p>
<p>在视图.py文件:</p>
^{2}$
<p>然后使用<code>json_data</code>并将其添加到响应呈现上下文中。在</p>
<p>最后修改上面的模板,以便JS变量json将被呈现为包含从视图传递到模板的json对象。在</p>