我只是通过javascript从输入标签获得一个值。但是现在我需要将这个值传递给同一页面上的Django模板来完成我需要的任务。
<!DOCTYPE HTML>
<HTML>
<body>
<h1>In Django Template</h1>
<input type="text" id="agency_id" name="fname" value="1">
<select class="select" name="delivery_agent" id="DeliveryAgent">
<option class="form-control" value="{{ agent.id }}" {% if agent.id == delivery_agency_id %} selected="selected" {% endif %}>{{ agent.name }}
</option> {% endfor %}
</select>
<script>
var delivery_agency_id = document.getElementById("agency_id").value;
alert(delivery_agency_id )
</script>
在这里,我通过脚本获得agency_id。现在我需要像上面的代码一样把它传递给if条件。请帮我解决这个问题。
要从任何模板中赋值,在这个例子中是Django,你只需要插入它。就像
<script type="text/javascript">
var a = "{{someDjangoVariable}}";
</script>
Ref: Django模板变量和Javascript
如果你只需要比较值,你不需要将值传递回模板。如果要在HTML和JS中完成这个操作,你可以检查
https://jsbin.com/guvugipoji/edit?html、js、输出
重要部分
<select name="" id="deliveryAgent" onChange="checkValue()">
和
function checkValue() {
var sel = document.getElementById('deliveryAgent');
var val = sel.value;
if(val === "1") {
alert("found 1")
}
}
顺便说一句,如果你需要动态设置这部分if(val === "1") {
,那么在模板引擎中设置这个值。
<script type="text/javascript">
var compareWith = "{{someDjangoVariable}}";
</script>
和下面的
if(val === compareWith) {