django javascript模板条件测试

时间:2014-10-02 12:49:10

标签: javascript html django templates setattribute

我希望在我的代码的html部分进行条件测试

HTML

<p class= "rep3" width="100" id="val1" data1={{ family  }} style= "display:none;">{{ family }}</p>
<p class= "rep4" width="100" id="val2" data2="" style= "display:none;"></p>
{% if data2 == "general" %}
<a href="/one_category/all/">criteria1</a>
{% else  %}
{% if data2 == "ceramic" %}
<a href="/one_category/ceramic/">criteria2</a>
{% else  %}
<a href="/image3/">criteria</a>
{% endif %}
{% endif %}

的javascript

<script type="text/javascript">

$(document).ready(function() {

 var element = document.getElementById('val1');
laval1 =  element.getAttribute('data1');

var element2 = document.getElementById('val2');
element2.setAttribute('data2', laval1);

 });

</script>

我在脚本中读取了data1 我想在data2中发送这些数据,然后再进行测试 但它不起作用

怎么做?

1 个答案:

答案 0 :(得分:1)

此代码无法正常工作,因为:

  • 在服务器中编译模板标签({%if data2 ==&#34; general&#34;%}等)很久之后,客户端就会运行JavaScript代码。

    < / LI>
  • 您无法将数据从JS发送到django,就像data2一样。 (虽然你可以使用AJAX),但在这种情况下不需要。

为什么你不能做这样的事情,而不是依赖Javascript?

<p class= "rep3" width="100" id="val1" data1={{ family  }} style= "display:none;">{{ family }}</p>
<p class= "rep4" width="100" id="val2" data2="" style= "display:none;"></p>
{% if family == "general" %}
<a href="/one_category/all/">criteria1</a>
{% else  %}
{% if family == "ceramic" %}
<a href="/one_category/ceramic/">criteria2</a>
{% else  %}
<a href="/image3/">criteria</a>
{% endif %}
{% endif %}